- 不管是 DDD 还是软件工程的,各种设计模式,其实本质上都是解决复杂度的,对复杂度的一种手段(以前业务简单,现在业务复杂)
- 视角:
- 系统内部
- 场景化---
- DDD解决的问题:
- 一种可以就是说拉通多种不同的业务,不同的角色,就一起来参与复杂的业务分析设计的一个分析方法。
- 兼顾了战略与战术,战略能跟公司和业务的发展所结合,战术又能脚踏实地到具体的执行层面.
- 场景:
- 鉴定点是复杂,业务就复杂而成熟的业务,足够复杂,足够大规模
- 优点:
- 领域模型建立后:概念比较明确,边界比较清晰,可以知道哪些需求写到哪个领域里;
- 领域模型和数据模型是分离的
- 优势,就是说其实是一种思想上的一个转变,只考虑业务,等我们业务划分好了之后,整理好了之后,我们再考虑领域实现.
- 领域驱动通过增加领域层,领域层其实主要是实现业务,它定义了各种的领域接口。然后具体的领域实现里面,其实才是那个技术的实现,然后具体的领域实现里面,其实才是那个技术的实现
- 缺点:
- 概念多
- 对团队要求高
- 建模方法多,有门槛
- 对于新的业务不熟悉不理解,其实套DDD是很难套用的
- 设计往往要上升到战略层面,也就是说会导致缺少战略与认知和战略决策权限的时候,就根本没有办法开展DDD了
- 开发落地目前各种各样的支撑还没有达到一个可以进入寻常百姓家的一个能力
- 实现起来比较麻烦,需要整个公司的一个战略上的推动,依靠个人,你很难去达成这件事情
-
- DDD为什么火起来
- 最初,互联网刚兴起的时候,就是业务数据量都很小,都是一些单体准备就够了。现在就是业务量越来越大,互联网就是场景越来越复杂。
- DDD为什么火起来
----------------------------------------
自顶向下-----把各种各样的东西,宏观的角度整理.