# 设想 - 模块自描述:包括模块程序集名称、显示名称、版本 - 模块可配置:通过总部运营后台配置 - 自洽的:包括领域层、设施层、应用程序层、接口层 - 具备基础支撑:基础领域层、基础设施层、基础类库层 - 模块间可通讯:通过事件订阅 # 模拟演示 - 场景模块 ``` -- 获取所有场景 ``` - 可视化模块 ``` -- 获取所有开关 -- 把某个开关添加到场景模块的某张表 ``` # 架构依赖 ![架构依赖](F:\SourceCodes\DDWiki\产品\智能照明版\架构依赖.png) # 模块化实践步骤 - 开发:开发模块的`Domain`, `Infra`,`Application`,`API`层 - 发布:发布到线上`模块组件库` - 下载:完成对项目授权之后下载到本地 # 模块化的好处 - 封装:一次开发多项目运行 - 开发:开发分工更明确 - 市场:唯快不破,快速验证市场,快速获取市场反馈,快速抢占市场份额 # 模块化的挑战 - 模块间关系:模块之间的关系很难处理 - 开发:适应时间 - 没有想到的方面 # 模块化的变通 - 单体程序,菜单配置 # 艰难的抉择 - 成本 - 收益