一、概念
- domain-driven-design
- 未来软件架构的趋势
- 使技术理解领域,让领域专家加入到软件开发的过程中,能与开发者无障碍的沟通
- 在软件中要有一个先进的领域模型,不分离领域专家和开发者
- 提高软件产品的生命力
- DDD的概念要早于微服务,但微服务比DDD先落地
二、系统老化
1、痛点
- 需求难
- 开发难
- 测试难
- 创新难
2、DDD解决系统老化的问题
三、改造转账功能(MVC -> DDD)
高质量代码标准:
高内聚、低耦合
单一职责原则
开放闭合原则
依赖反转原则
四、DDD视角下的单体架构和微服务架构
基于领域驱动实现的核心业务,二者之间的区别在于领域之间的沟通机制,二者可以随着领域的不同组织方式而相互转换。
五、DDD的展望——企业中台
六、DDD的缺点
- 学习成本高
DDD比MVC更容易退化,要统一思想,守住其下限。 - 收效缓慢
大项目更能体现DDD的价值,短平快的项目用MVC见效快。 - 技术落地难
技术框架少,有COLA - 动态发展
DDD与技术无关,不同的技术体系会有不同的表现形式,效果依赖于工程师的水平。