NCF 模块化开发思想
NCF 采用模块化的思想构建,在系统底层的支持库基础之上,所有的功能模块都以“模块”的形式出现,“一切皆模块”。
例如,数据管理功能可以是一个模块、系统内核可以是一个模块、管理后台可以是一个模块,以及业务层面的购物车可以是一个模块、支付可以是一个模块、评价可以是一个模块,等等。甚至可视化创建模块的功能本身也是一个模块。
使用 NCF 的模块化开发有诸多的好处,比如:
- 小粒度功能开发,方便解耦和单元测试;
- 模块间可以相互调用,方便功能重用;
- 小粒度发布(支持 Nuget 包发布),方便共享模块功能;
- 方便代码和功能移植;
- 提供统一的模块化接口,方便系统集成(甚至是现有系统经过简单修改就可以作为一个模块集成到到 NCF);
- 可视化模块模板,以及多类型自由选择的接口实现,快速构建业务基础代码;
- 独立模块的安装、卸载可以做到完全数据库表隔离,互不影响,可靠性高;
- 独立模块可以小粒度单独升级,不影响其他模块;
- 等等。
模块代号
NCF 的模块内部代号:Xncf
,其中 X
即 Extension(可扩展)、Unknown(未知)之意,ncf
即表明此模块根植于 NCF 大框架。
更多模块命名规则请参考:Xncf 的命名规则。
Q&A:是否可以不使用模块化开发?
Q:我的系统比较简单,也不需要考虑移植、弹性或扩展,是否可以直接在 NCF 上进行开发?
A:当然可以。加载模块只是为了方便重和系统解耦用而已,NCF 适用于大多数开发场景,包括单体应用、分布式、容器、微信等移动端、跨平台 Hybrid 应用,等等。