1、化繁为简DDD驱动复杂业务软件架构的演进CONTENTSCONTENTCONTENT产品介绍业务挑战及架构目标架构演进总结展望CONTENTSCONTENTCONTENT产品介绍业务挑战及架构目标架构演进总结展望全过程、全流程、一站式平台全过程、全流程、一站式平台产品特点产品特点业务复杂多专业领域BIM全过程流转人机交互频繁产品规模大350万+代码行150+人团队3+技术平台产品特点CONTENTSCONTENTCONTENT产品介绍业务挑战及架构目标架构演进总结展望业务挑战与架构目标业务挑战与架构目标建筑造型多样化,业务模型复杂度越来越高业务挑战新业务基于现有业务进行扩展,而应用场景及性能要
2、求不同,既复用又独立;产品云+端转型,核心业务逐步实现服务化,不同业务演化路径不同简化业务模型复杂度架构演进目标不同业务间解耦各业务独立演化单体架构共享模型模糊分层应对复杂业务挑战的思考应对复杂业务挑战的思考关注点分离抽象建模应对复杂业务挑战应对复杂业务挑战的的策略策略领域驱动设计1 12 23 3领域拆分架构分层构建领域模型CONTENTSCONTENTCONTENT产品介绍业务挑战及架构目标架构演进总结展望架构演进架构演进1 12 23 3领域拆分架构分层构建领域模型业务业务分析分析2134分析业务流程提炼业务规则分析业务用例识别业务对象子子域拆分域拆分 业务流程 专业知识建模子域计算子域
3、登录与授权子域报表子域指标子域做法子域限界上下文拆分限界上下文拆分 业务用例 功能语义相关性 技术应用 团队规模建模子域构件模型上下文模型编辑上下文计算子域报表子域模型转换子域做法子域通用子域汇总上下文指标管理上下文三维模型转换上下文CAD翻模上下文模型检查上下文平法模型上下文截面钢筋模型上下文土建计算上下文钢筋计算上下文土建计算设置上下文钢筋计算设置上下文做法上下文登录与授权上下文指标定制上下文限界上下文协作关系限界上下文协作关系报表子域模型转换子域CAD翻模上下文三维模型转换上下文DDACL/CACL/C建模子域模型编辑上下文构件模型上下文DUUUDSC平法模型上下文截面钢筋模型上下文DD
4、CCSSACL/C钢筋计算上下文计算子域土建计算设置上下文钢筋计算设置上下文UUDDCSCS土建计算上下文UDSC模型检查上下文 识别真实依赖关系 确定上下文物理边界 业务演化的趋势限界上下文解耦限界上下文解耦-统一接口设计统一接口设计统一接口模型检查上下文CAD翻模上下文钢筋计算上下文截面钢筋模型上下文Facade模式解决:接口不规范,多套接口 外部接口深入到上游的业务逻辑限界上下文解耦限界上下文解耦-发布订阅机制发布订阅机制钢筋模型上下文建模模型上下文调度中心平法模型上下文发布解决:上游模型变化,下游模型联动发布-订阅机制架构演进架构演进1 12 23 3领域拆分架构分层构建领域模型架构分
5、层架构分层持久化层领域层CAD图纸管理建模UI通用UI组件几何算法通用框架机制通用算法CAD/BIM UI图元绘制显示层应用层CAD识别BIM模型转换模型编辑批量操作CAD模型BIM模型模型数据库gcad文件gfc文件数据库算量模型持久化CAD模型持久化BIM模型持久化.构件模型.平法模型钢筋模型模型转换案例案例1 1:CADCAD翻模领域拆分及分层设计翻模领域拆分及分层设计 隔离功能交互与业务逻辑 识别算法独立,引入人工智能算法持久化层领域层CAD图纸管理CAD翻模UI显示层应用层CAD图层管理CAD识别命令CAD模型CAD模型持久化CAD识别算法模型转换CAD识别数据模型构件模型CAD翻模
6、服务架构演进架构演进1 12 23 3领域拆分架构分层构建领域模型案例案例2 2:截面钢筋模型截面钢筋模型如何构建截面钢筋模型?理解业务需求理解业务需求 截面钢筋模型按照行业钢筋平法规则,基于构件剖面描述钢筋布筋的模型 基于业务用例识别业务对象 截面多边形 箍筋 纵筋 弯钩 端头基于业务对象的钢筋模型基于业务对象的钢筋模型 不同构件归纳抽象 分析业务对象及其关系 识别聚合、实体、值对象柱截面钢筋模型压顶截面钢筋模型人防截面钢筋模型截面钢筋截面多边形点筋截面钢筋规格端头弯钩规格线筋位置位置标高标注.重新定义边界后的截