当前位置: 首页 > article >正文

领域驱动设计DDD的工作机制

DDD 提出了一套定义好的结构,可以用来构建模型。拥有这些预定义的元素使得开发人员和领域专家更容易理解模型。

1. 实体(Entities):是具有连续性线索的对象。它有一个唯一标识符,但不是由其属性定义的。对象是可变的,属性可以改变,但身份保持不变。例如,想象在餐厅中下的一个订单。订单有一个与之关联的唯一订单号,但是订单的属性从下单、烹饪到上菜都在变化。

2. 值对象(Value Object):是定义特征的对象。它是不可变的,不能更改。这些是可以被多个实体共享的实体属性。更改这个属性的唯一方法是创建一个新实例并替换旧的。

3. 领域事件(Domain Event):是用来定义事件的对象。领域事件是那些对领域专家有重大影响的事件,因此,并非所有技术事件都是领域事件。

4. 服务(Services):是任何无状态的操作,它不影响或与实体或值对象无关。

5. 聚合(Aggregate):是在一个边界内定义的实体和值对象的组合。聚合中的实体和值对象不能被外部对象访问,除了一个被称为聚合根的实体。

6. 聚合根(Aggregate Root):聚合根是唯一一个可以与其他对象交互并向整个聚合发送指令的实体。

7. 仓库(Repositories):是一个接口,可以访问实体、值对象和聚合。可以定义不同的方法来创建、删除和修改这些对象。仓库使用户能够在不了解它们存储在哪里以及如何存储的复杂性的情况下,更容易地访问这些对象。

8. 工厂(Factories):是用来制造复杂对象(如聚合)的另一种抽象。这将使用户能够通过一个原子函数创建这些对象,而不必担心系统的底层工作原理。


http://www.kler.cn/news/341493.html

相关文章:

  • 基于ZABBIX监控 RabbitMQ服务开箱模板汉化及适用性改造
  • 相亲交友系统的商业模式探讨
  • Android Studio Koala Feature Drop 稳定版现已推出
  • 在滴滴和字节划水6年,过于真实了。。。
  • 刷题小计六:矩阵
  • 【fastjson】json对象格式化打印
  • 2015年国赛高教杯数学建模C题月上柳梢头解题全过程文档及程序
  • 无人自助超市系统小程序源码开发
  • 谈谈bluestore与rocksdbstore(未完,待续)
  • 什么是网络信息安全?
  • 考研笔试/上机经典编程题集合(持续更新并完善解题思路)
  • 2024 kali虚拟机安装教程,分两大步骤,图文讲解(1)
  • 云原生日志ELK( logstash安装部署)
  • ABB机器人20195故障报警原因分析
  • 【基础介绍】【OCR】
  • 【微服务】链路追踪 - Micrometer(day9)
  • IT招聘乱象的全面分析
  • 13种pod的状态
  • NL2SQL之DB-GPT-Hub详解篇:text2sql任务的微调框架和基准对比
  • ctfshow-web 萌新题