可能有助于编写更容易维护的Java代码DDD最佳实践 - Maciej Walkowiak

19-07-03 banq
              

1.通过垂直切片而不是层来命名和组织包结构 

2.仅通过ID而不是类型来引用其他聚合

3.从聚合中发出事件并使用它们与其他切片通信,而不是从其他切片来直接调用这个聚合中的类

4.降低类可见性以尽可能保护包,而不是默认将所有内容公开

5.要考虑“服务”类 : 明确哪些服务代表用例,哪些是基础设施或领域服务 - 而不是将服务仅仅作为一堆程序

6.始终确保对象处于正确状态 - 创建特定的构造函数或静态工厂方法,而不是使用默认构造函数并设置所有属性! 

7.当构造函数有很长的参数列表,且具有相同类型,考虑使用Builder模式来创建

8.使用依赖性反转将域逻辑与实现细节分开

9.不仅仅返回null - 使用Optional或mark方法使用Nullable注释

10.使所有DTO都不可变 - 每个字段都是final而不是setter

11.在实体中考虑使用流畅的setter和方法来

12. 避免使用VisibleForTesting 实体 - 你的类很可能做太多事情

13. 把javadocs放在公共类上 - 今天显而易见的事情往往会被遗忘一周后

              

4