跳至主要內容
SunnyFan 知识库
搜索
Ctrl
K
DDD领域驱动设计
SunnyFan
大约 1 分钟
约 433 字
#
DDD领域驱动设计
#
简介
Domain-Driven Design
DDD领域驱动设计
POP-无边界
OOP-以对象为边界
#
特点
1.DDD-其实就是扩大边界,将对象组装成领域,程序分析设计轻松点DDD是一种程序分析设计方法,不关乎具体技术具体代码实现,依旧是OOP
#
优点
1.面向对象设计,数据行为绑定,告别贫血模型
2.降低复杂度,分而治之
3.优先考虑领域模型,而不是切割数据和行为
4.准确传达业务规则,业务优先
5.代码即设计
6.它通过边界划分将复杂业务领域简单化,帮我们设计出清晰的领域和应用边界,可以很容易地实现业务和技术统一的架构演进
7.领域知识共享,提升协助效率
8.增加可维护性和可读性,延长软件生命周期
9.中台化的基石
#
缺点
1.性能 :DDD 是基于聚合来组织代码,对于高性能场景下,加载聚合中大量的无用字段会严重影响性能,比如报表场景中,直接写 SQL 会更简单直接。
2.事务 :DDD 中的事务被限定在限界上下文中,跨多个限界上下文的场景需要开发者额外考虑分布式事务问题。
3.难度系数高,推广成本大 :DDD 项目需要领域专家专家,且需要特别熟悉业务、建模、OOP,对于管理者来说评估一个人是否真的能胜任也是一件困难的事情。
上一页
AOP面向切面编程
下一页
设计模式-六大原则