什么是DDD领域驱动设计的战术设计?

栏目: 后端 · 发布时间: 6年前

内容简介:战术设计是一组在实施中使用的技术资源域模型,这些资源必须应用在一个单一的有界上下文中。如果正确使用战术设计标准,您实际上可以丰富您的领域模型,从而清晰地反映您的业务。请参阅下面的主要构建模块:

战术设计是一组在实施中使用的技术资源域模型,这些资源必须应用在一个单一的有界上下文中。如果正确使用战术设计标准,您实际上可以丰富您的领域模型,从而清晰地反映您的业务。

请参阅下面的主要构建模块:

实体

一个实体是一个潜在的可变对象,它具有一个唯一的标识符。实体在其域模型中具有自己的生命周期,这使您可以获取此实体的整个变化的历史记录。

值对象

区分值对象与实体的区别在于,值对象是不可变的,并且没有唯一标识,仅由其属性的值定义。这种不变性的结果是,为了更新值对象,您必须创建一个新实例来替换旧实例。

聚合Aggregates

它是战术设计中最重要和最复杂的模式之一,聚合基于另外两个战术标准,即实体和值对象。聚合是一种或多种的群集实体,并且还可以包含值对象。此群集的父实体接收聚合根的名称。

服务

服务是无状态对象,它们执行一些不适合实体或值对象上的操作的逻辑。它们执行特定于域的操作,这可能涉及多个域对象。

库Repository

存储库主要用于处理存储,它们抽象了对数据存储的依赖担忧。他们负责持久聚合。

工厂

工厂用于在构造Object时提供抽象,并且可以返回聚合根,实体或值对象。工厂是构建通过构造方法构建复杂的对象的替代方法。

事件

事件表示域中发生的重大事件,需要向属于域的其他利益相关者报告。Aggregates通常发布事件。

模块

开发人员很少提及模块,但是它们的使用非常有趣。模块帮助我们隔离概念,可以定义为 Java 包或C#命名空间,并始终遵循泛在语言。

您需要了解并非所有这些概念都需要应用于您的域模型,您需要进行分析,以便它不会给项目增加不必要的复杂性。​​​​​​​


以上所述就是小编给大家介绍的《什么是DDD领域驱动设计的战术设计?》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

The Web Designer's Idea Book

The Web Designer's Idea Book

Patrick Mcneil / How / 2008-10-6 / USD 25.00

The Web Designer's Idea Book includes more than 700 websites arranged thematically, so you can find inspiration for layout, color, style and more. Author Patrick McNeil has cataloged more than 5,000 s......一起来看看 《The Web Designer's Idea Book》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具