轻量级DDD正向/逆向业务建模框架,支撑复杂业务系统的架构演化!
作为软件交付最终产品的代码,由于具有(可运行,包含完全细节,演进过程完整追溯,自我修复)特点而成为业务的唯一事实真相,但代码如何以易于理解的形式直观反映业务知识一直是业界难题。
DDDplus
扩充了DDD,通过正向的DDD建模,配合基于DSL声明式标注从而让代码自动生成业务模型的逆向建模过程,实现了:代码与模型统一,统一语言,抑制熵增。
正向和逆向建模的项目演示 ->
-
新功能
- 从代码里自动生成方法的call graph图,用于评估代码改动的影响范围和风险,从宏观上对代码结构和类之间关系有了洞察
- 由于只关注DSL标注的方法,去除了噪音,这样的图才不会混乱
- 从代码里自动分析包之间的交叉引用图,用于发现不合理依赖关系,包的设计是否合理
- 新增dddplus-maven-plugin模块,把静态检查、代码可视化等功能集成到maven插件里,方便使用和集成
- 扩展点的方法返回值不能为primitive type,以避免NPE,之前只是规范说明,目前增加了ExtensionMethodSignatureEnforcer,结合CI可以彻底杜绝此类问题
- 增加了代码的封装性检查报告
- 从代码里自动生成方法的call graph图,用于评估代码改动的影响范围和风险,从宏观上对代码结构和类之间关系有了洞察
-
Feature
- add ExtensionMethodSignatureEnforcer to avoid NPE risk
- call graph complete and exact click through
- add dddplus-maven-plugin to avoid CI manual unit test
- visualize package cross reference in svg file
Full Changelog: v2.0.0...v2.0.1
逆向建模
DDDplus
里的基于DDD的正向建模,与基于AST静态分析的逆向建模是相互独立的。如果你觉得DDD落地太难,那么可以只使用逆向建模部分,即使一个遗留系统,也可以使用逆向建模功能:让代码承载领域知识,生成业务洞见,还原架构设计,识别代码设计缺陷,为需求分析提供依据。
还没有评论,来说两句吧...