其实书中写的都是我们在做的。
1. 消化知识
知道自己做什么,开发一个新的系统,你必须要了解这系统的业务,比如你做的银行系统,那么你就应该学习银行的各种业务。
2. 团队使用一种交流语言
要保证大家的理解和表达的内容是要一致的,开发过程中,对于同样的一件事物,有可能有不同的表达,这里就是要求团队在文档和口头交流上要保持一致。
3. 使用模型来表示
对于系统的业务逻辑,需要一种图示模型的方式来表达记录。这样就有了一些模型图出来表达业务逻辑。
4. 分离领域
分析系统做出分层结构,用户界面层,应用层,领域层,基础设施层等。
5. 设计模式
文中提到的5种设计模式都是我们司空见惯的了,如果是后端使用Java Spring Boot开发,那么这些做法都是预设好的了。
- Entity
- Value Object(就是将一个对象存到一个数据库字段里,类似存json进去)
- Service
- Module(package)
6. 领域对象的生命周期
讨论的是数据的创建存储销毁模式,提到的是工厂模式,Repository模式,这也是已经在Spring Boot上预设使用的了。Aggregate代表的是模型图中的聚合,是用来划分需要那些Repository。 1.Aggregate(聚合) 2.Factory 3.Repository
7. 通过重构得到更深理解
业务发生改变,模型变了代码就需要重构。
- 突破,将模型设计得更精确
- 隐式转显式,将模型设计得更明了易懂
- 柔性设计,将模型设计得更易于扩展
8. 战略设计
系统做大了,会产生很多微服务,对于同一个模型,会在不同的上下文边界中出现多次,做持续集成的好处就是能使整个大系统不同边界的上下文统一。
- 上下文边界
- 持续集成
9. 精炼
工作分配,代码风格统一,项目风险管理,精修文档。