概述:
- 内核模式也被称为插件架构模式 。
- 将附加应用程序功能作为插件添加到核心应用程序,以提供可扩展性以及功能分离和隔离 。这种模式由两种类型的架构组件组成:一个核心系统和插件模块 。
- 应用程序逻辑分布在独立的插件模块和基础核心系统之间,提供应用程序特性和定制处理逻辑的可扩展性、灵活性和隔离性 。
- 从业务应用的角度看,核心系统通常被定义为没有特殊情况、特殊规则或复杂条件处理的定制代码的通用业务逻辑 。
- 插件模块是独立的、独立的组件,包含专门的处理、额外的特性和定制代码,这些代码旨在增强或扩展核心系统以产生额外的业务能力 。保持插件之间的通信最少是非常重要的,以避免依赖性问题 。
- 注册表包含每个插件模块的信息,包括其名称、数据协议和远程访问协议详情(取决于插件如何连接到核心系统) 。
- 插件模块可以通过多种方式连接到核心系统,包括OSGi(开放服务网关倡议)、消息传递、网络服务,甚至直接的点对点绑定(即,对象实例化) 。
- 当插件组件由第三方开发,而你无法控制插件使用的合约时 。在这种情况下,通常会创建一个适配器,将插件合约与你的标准合约进行对接,这样核心系统就不需要为每个插件编写专门的代码 。
模式描述微内核架构模式由两种类型的架构组件组成:一个核心系统和插件模块 。应用程序逻辑分布在独立的插件模块和基础核心系统之间,提供应用程序特性和定制处理逻辑的可扩展性、灵活性和隔离性 。图3-1展示了基本的微内核架构模式 。
微内核架构模式的核心系统传统上只包含使系统运行所需的最小功能 。许多操作系统实现了微内核架构模式,这也是这个模式名字的由来 。从业务应用的角度来看,核心系统通常被定义为没有特殊情况、特殊规则或复杂条件处理的定制代码的通用业务逻辑 。
![聊聊【软件架构模式】—微内核架构](http://img.jiangsulong.com/230620/154H92230-0.jpg)
文章插图
插件模块是独立的、独立的组件,包含专门的处理、额外的特性和定制代码,这些代码旨在增强或扩展核心系统以产生额外的业务能力 。通常来说,插件模块应该独立于其他插件模块,但你当然可以设计需要其他插件存在的插件 。无论如何,保持插件之间的通信最少是非常重要的,以避免依赖性问题 。
核心系统需要知道哪些插件模块是可用的,以及如何访问它们 。实现这一点的一种常见方法是通过某种插件注册表 。这个注册表包含每个插件模块的信息,包括其名称、数据协议和远程访问协议详情(取决于插件如何连接到核心系统) 。例如,一个用于标记高风险税务审计项目的税务软件插件可能有一个注册表条目,包含服务的名称(AuditChecker)、数据协议(输入数据和输出数据)和协议格式(XML) 。如果通过SOAP访问插件,它也可能包含一个WSDL(Web服务定义语言) 。
插件模块可以通过多种方式连接到核心系统,包括OSGi(开放服务网关倡议)、消息传递、网络服务,甚至直接的点对点绑定(即,对象实例化) 。你使用的连接类型取决于你正在构建的应用程序类型(小型产品或大型业务应用程序)和你的特定需求(例如,单一部署或分布式部署) 。这种架构模式本身并没有指定任何这些实现细节,只要求插件模块必须彼此独立 。
插件模块与核心系统之间的合约可以从标准合约到定制合约 。定制合约通常出现在插件组件由第三方开发,而你无法控制插件使用的合约的情况中 。在这种情况下,通常会创建一个适配器,将插件合约与你的标准合约进行对接,这样核心系统就不需要为每个插件编写专门的代码 。在创建标准合约(通常通过XML或JAVA Map实现)时,重要的是要记住从一开始就创建一个版本策略 。
推荐阅读
- 买显卡小心被这三种话术骗了
- 如何进入p站官网
- 葡萄用英语怎么说读
- 一公里的路程是多少步
- 最好玩的打牌游戏
- 猎杀潜航5攻略
- 捐拼音怎么拼写
- 国产最好的洗衣机品牌排行榜
- 炒股软件排行榜前十名手机有哪些
- 油条怎么做菜