DDD领域驱动设计核心概念与原则 -- 知识铺
DDD 领域驱动设计的核心概念和原则是什么?
领域驱动设计(DDD)是一种基于模型驱动的软件设计方法,旨在通过建立领域模型来有效解决复杂的业务问题。以下是DDD的核心概念和原则:
核心概念
-
领域(Domain):业务相关知识的集合,指特定范围或区域,用来确定范围和边界。
-
子域(Sub Domain):领域的一部分,通常划分为核心域、支撑域和通用域。
- 核心域(Core Domain):企业最关键的业务逻辑,决定了软件的定位和投资重心。
- 支撑域(Support Domain):为了实现核心业务而开发的业务。
- 通用域(General Domain):业界已有成熟方案的业务,如短信通知、邮件等。
-
限界上下文(Bounded Context):有明确边界的上下文,用于限定领域模型的适用范围,确保概念的一致性。
-
通用语言(Ubiquitous Language):在软件设计中,业务人员和开发人员使用无歧义的统一语言进行沟通,以确保业务模型与代码实现的一致性。
-
实体(Entity):具有唯一标识的领域模型,可变,通过标识判断同一性。
-
值对象(Value Object):不可变,通过值判断同一性的领域模型。
-
聚合(Aggregate):一组生命周期强一致、修改规则强关联的实体和值对象的集合,表达统一的业务意义。
-
聚合根(Aggregate Root):聚合中最核心的实体,其他实体和值对象从属于这个实体。
-
仓储(Repository):以持久化领域模型为职责的类,屏蔽业务逻辑和持久化基础设施的差异。
-
服务(Service):负责领域内业务规则实现的操作者。
原则
- 原文作者:知识铺
- 原文链接:https://index.zshipu.com/geek001/post/20240710/DDD%E9%A2%86%E5%9F%9F%E9%A9%B1%E5%8A%A8%E8%AE%BE%E8%AE%A1%E6%A0%B8%E5%BF%83%E6%A6%82%E5%BF%B5%E4%B8%8E%E5%8E%9F%E5%88%99--%E7%9F%A5%E8%AF%86%E9%93%BA/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。
- 免责声明:本页面内容均来源于站内编辑发布,部分信息来源互联网,并不意味着本站赞同其观点或者证实其内容的真实性,如涉及版权等问题,请立即联系客服进行更改或删除,保证您的合法权益。转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。也可以邮件至 sblig@126.com