介绍

问题与背景

不同客户对系统的需求会有所不同,通常会有一定的定制化需求,例如增加一些新功能、完善原有功能、修改皮肤样式等。

因此面对不同客户时,需要在原有系统的基础上进行不同程度的修改和二次开发。

而随着客户的增多,将导致系统在版本、功能、需求等方面的管理变得愈加繁杂,其中也可能存在重复开发、功能无法重用、开发工作量过大等问题。

因此需要寻求一种解决方案使得系统的开发更加灵活,即实现可定制化的目标,实现以更少的开发工作量应对变化的需求。

设计思路

当一个软件系统开发完成后,可能需要添加一些额外的新功能(有时这些新功能也被称为扩展),我们通常希望能够在不影响原有系统的条件下完成新功能的添加,实现这一目标的并是所谓的插件化,新增加的功能模块就叫插件。

插件化有利于降低模块间的耦合度,有利于各模块和项目的维护更新。

  • Needle Core, 核心库;
  • 全局配置,可用来配置各个模块、插件的属性;
  • 国际化,所有插件、模块都支持国际化配置;
  • 事件钩子,提供系统全局事件监听,以在不同节点自定义配置事件处理;
  • 路由,提供路由配置以及路由触发钩子事件处理;
  • 业务模块
  • 插件,插件可接入在任意地方,具有丰富的插件接口;
2022-08-10
0