- Feature
- 通过apache bcel库实现完全非侵入式call graph图
- 提示哪些类和方法在关系图上可能被排除
- 支持用户自定义类关系
- 提供io.github.dddplus:dddplus-maven-plugin的三个功能
- 与IDEA内置的Call Hierarchy功能相比
- IDEA只能基于单个方法分析,DDDplus全局分析
- 提供配置驱动的噪音过滤机制,使得自动生成的关系图突出重点
- model 基于DDDplus DSL标注产生的逆向业务模型
- call 完全非侵入式基于字节码增强机制分析jar包生成类方法调用关系图
- polymorphism 完全非侵入式基于AST Parser自动生成具有多态的类关系图
- enforce DDDplus正向建模的架构约束强化工具
- 与IDEA内置的Call Hierarchy功能相比
- 通过apache bcel库实现完全非侵入式call graph图
-
Feature
- 根据源代码AST分析,形成结构化数据,导出到sqlite数据库
- 生成原始的plantuml文件
- 可以修改实体所在的包
- KeyUsecase图里显示类的javadoc
- 业务字典,枚举类,也可以使用 KeyElement 进行标注
- PlantUML类图里,KeyFlow对应的文件可以点击,自动在IDEA中打开到对应位置
-
Bug Fix
- 逆向分析时,KeyRelation会把一个类放在了错误的package
- Feature
- 提供详细的《逆向建模教程》
- ClassMethodReport 增加大方法的自动发现
- KeyElement#types 增加默认值,降低DSL标注成本
- Fix
- CallGraphAstNodeVisitor 运行是抛出异常导致无法继续执行
-
新功能
- 从代码里自动生成方法的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
- visualize package cross reference in svg file
-
FIXED
-
Feature
- Reverse Modeling DSL
- Patches DDD with complete building blocks
- Pragmatic DDDplus Showcase Project
-
Incompatible changes with 1.x.y
- Removed
IBaseTranslator
,ApiResult
,RequestProfile
,IModelAttachmentExt
,IDomainModelCreator
- Renamed
IExtPolicy
->IPolicy
BaseDomainAbility
->BaseRouter
,@DomainAbility
->@Router
DDD.findAbility
->DDD.useRouter
/DDD.usePolicy
Reducer
->IReducer
- Function signature changed
- all
IDomainExtension
input argument changed fromIDomainModel
toIIdentity
- all
- Removed
- FIXED
- #39 解决Policy定位的扩展点如果不存在则抛出NullPointerException
-
FIXED
-
Feature
- #37 除了
Partner/Pattern
的静态的扩展点路由机制外,提供了动态路由机制:Policy
,供使用者扩展 - #35 提供绕过
BaseDomainAbility
而直接路由扩展点的机制,在业务属性不明显的场景下使用 - #32 框架提供默认的步骤编排能力,使用者不必从头编写
Ability
来编排步骤 - 增加了一个使用
DDDplus
来搭建low-code
平台的例子工程:https://github.com/dddplus/easyapp- 其中的Trigger机制依靠扩展点和Plugin的动态加载实现
- #37 除了
-
FIXED
- #20 Plugin reloading, Spring unable to get the Partner bean
- #28 ArchitectureEnforcer的接口规范 bug,需要把注解排除在外
- dddplus/dddplus#4 在Spring Boot集成时,无法触发
IStartupListener
-
Improvement
-
Feature
-
Test
- #26 Stress test for plugin jar reloading passed
-
FIXED
- NPE when Plugin load without using Spring
-
Improvement
- Add Specification & Notification Pattern to DDDplus for explicit business rules expression
-
Improvement
- Integrated with CodeQL
- Being renamed to DDDplus
- Container.java and Plugin.java refactored: explicit over implicit
- Plugin jar reloading will not allow concurrency
-
Test
- NamedThreadFactory test case bug fixed