目录

钩子插件标签

微内核架构

微内核架构(Microkernel Architecture),也称为插件化架构(Plug-in Architecture)。核心系统提供通用能力,由插件去实现业务功能。

基础库 + 微内核 + 系统插件 + 应用插件(分官方和第三方的)

插件的设计思想

插件的设计基本上可以归纳划分为三个部分:钩子声明、钩子注册、钩子调用。如图:

  • 微内核框架声明钩子
  • 插件将自己注册到特定场景的钩子中
  • 微内核框架执行注册到钩子中的插件

/images/171118bacfe93c51tplv-t2oaga2asx-zoom-in-crop-mark3024000.webp

框架在执行的过程中,在不同的业务场景,注册特定场景的钩子。而插件为了达到不同业务场景的定制,只需要将插件挂载到 specify 场景的钩子上。当框架执行到 specify 场景时,就会拽出挂载到此场景钩子下的插件,进而执行插件中的业务代码。

==微内核+插件架构,就是分离应用的稳定和不稳定部分。框架内核业务相关性弱,稳定。而实现具体业务功能的插件,业务相关性强,且经常改动,不稳定。所以微内核插件架构,分离稳定代码和不稳定代码。同时不同插件实现不同业务,相关性弱,实现了业务解耦。==

基于插件构建的框架应用的能力是十分强大的,一个具有丰富的钩子接口的复杂应用,可以基于钩子产生无数的插件,甚至产生一个社区。

高中时期,我的物理老师曾说过一句话:“一流的学生学思想,二流的学生学方法,三流的学生学题目”,这句话让我印象十分深刻。学习一类事物,学习思想往往才是捷径。思想掌握了,往往也就会举一反三,触类旁通。

参考