邮箱:www.jungshuodz@163.com
手机:18268652722
电话:18268652722
地址:宁波市北仑区大碶庙前山路45号
发布时间:2024-12-27 07:36:45 人气:
对于从未接触过DDD的同学,建议先阅读这篇文章。如果你听说过DDD,也可以通过下面这篇文章回顾一下DDD 的基本概念:爱牛油果的露露:算法架构师我们来聊聊领域驱动设计(DDD)。进入今天的主题:简单来说一下DDD。域驱动设计(简称DDD)。以业务领域为核心:以业务逻辑为整个系统的核心,并围绕其进行设计和开发。
微服务提倡领域驱动设计:微服务架构提倡将系统分解为小型的、自治的服务。每个服务都应该有明确的边界和职责。这就需要服务使用领域语言进行通信,这可以促进领域的发展。驱动设计的实践。 DDD 专注于领域模型的设计。它试图将业务需求转化为一组概念、规则和关系。这些概念、规则和关系构成了实现业务逻辑的领域模型。领域服务:领域模型中无法表达的业务逻辑可以通过领域服务来实现。
至此,领域已经确定。现在可以根据领域来划分任务。小组成员负责一个或多个领域的详细设计。这个阶段就是大家都非常熟悉的用例图、活动图、序列图、数据库设计、界面设计。使用。将每个问题进行分解,就是当问题被划分为小领域时,由于小领域的业务具有凝聚力,其子领域关联性强,所以我们可以在技术维度上进行详细设计,按照业务范围来划分项目。管理维度领域。
DDD指领域驱动设计,是一种主要致力于解决复杂业务领域的建模和实现问题的软件设计方法论。领域对象在包含值对象的同时,也保留了值对象的业务含义,而数据对象则可以使用更宽松的结构来保存值对象,简化数据库设计。自20世纪80年代以来,他作为设计师和程序员参与了许多大型面向对象系统的设计和开发,涉及各种复杂的业务和技术领域。
具体说明请参见图中注释。一般来说,领域层通过实现和接口的分离,尽可能做到独立,不耦合到任何模块。它包含领域模型的业务逻辑代码,但不依赖于具体的技术实现。基础设施层可以轻松替换并提供给第三方网络呼叫服务。微服务可以支持DDD中的有界上下文:在领域驱动设计中,有界上下文是一个非常重要的概念,可以帮助开发人员更好地理解业务领域。
需要指出的是,DDD不能代替详细设计,DDD是为了更清晰的详细设计。为了让业务服务更加聚焦领域能力,基于领域能力设计对外接口,同时满足前端显示等多样化的接口消费场景,往往需要在架构中引入BFF层。一个域可以划分为多个子域,一个子域又可以划分为多个子子域。有界上下文本质上是一种子子域。那么在分解业务时,业务模块是域、子域还是子子域呢?
相关推荐