6-1 项目模块化-概念
一、组件化与模块化
组件化
以功能为依据,解决复用问题
模块化
以业务为依据,解决复用问题
二、模块化思想
核心:每个模块作为一个独立的子项目,子项目之间不要有相互依赖(基础模块除外)
-
多人同步开发
的情况下互不影响
- 模块单独维护、升级、调试、测试、打包部署等,实现
轻量化
- 约定
不轻易修改
主程序、基础模块、对内接口等
- 模块之间实现
高效组合、拆分
三、模块化的优缺点
优点
可维护性高
架构清晰,开发灵活
降低业务耦合度
- 方便单模块的
调试、升级、维护
,调试效率也更高
- 模块间的高效组合和拆分
缺点
性能损耗大
-
调用链长
,排查代码费力
- 模块间通信很
消耗性能
- 不要为了模块化而复杂化本来不需要过大架构的项目
四、模块化场景
业务增量包
- 汽车模块为基础模块,可单独打包发布
- APP汽车模块、订单模块、财务模块等,都需要依赖汽车模块
- 任意组合:A+B+C+D、A+B、A+C、B+C
项目部署
- 更好应对项目
容灾、业务重组、服务器负载
等各方面考研
- 用户、汽车、交易者、订单、财务,都是独立的系统,部署到不同服务器
-
微服务
,是模块化的一种实现方式
- SaaS系统,软件即服务/软件服务化,需要用到模块化
五、模块化项目架构设计
- 综合业务层
- 拓展业务层
- 基础业务层
- 公共库
- 实体库
- 基础库