架构设计 DDD领域建模 核心概念

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
可观测可视化 Grafana 版,10个用户账号 1个月
简介: 【1月更文挑战第6天】架构设计 DDD领域建模 核心概念

实体 和 值对象:

DDD领域设计中对象分为两种:实体Entity值对象Value Object实体Entity对象 代表具有唯一ID的领域对象。值对象Value Object代表一成不变的、本质性的事务,不具有唯一的ID

实体Entity是和业务进行强关联的,随着业务的变更,除了唯一ID不变之外,其他的所有属性都可能发生变化。

值对象Value Object一般需要依赖实体对象来赋予业务价值。

实体对象与值对象的关系:实体对象和值对象在一定条件下是可以相互转化的,除了唯一ID外的所有属性都是可以不断变化的。实体与实体之间通过ID相关联。实体与值对象之间通过信息冗余进行关联。

领域服务:

服务表示的就是那些在领域对象之外的操作和行为。跨实体的业务操作,交由服务来协调。服务用来隔离业务逻辑与技术实现。

服务通常用于相应某些请求、调用某些操作。服务不能直接操作实体中的属性,而必须调用实体中的行为间接对属性进行操作。

防腐层:

防腐层Anti-Conrruption Layer:隔离系统与外部依赖

聚合 和 聚合根:

聚合Aggregator实体和值对象体现的是个体的能力,聚合体现的是这些个体的系统工作能力。

聚合作用:聚合是用来确保这些领域对象在实现共同的业务逻辑时,能保证数据的一致性。

聚合根Aggregator Root每个聚合内部有一个外部访问聚合的唯一入口,称为聚合根。每个聚合中应确定唯一的聚合根实体。

仓库 和 工厂:

仓库Repository和工厂隔离开了数据源和上层业务(领域实体)。

相关文章
|
1月前
|
消息中间件 存储 缓存
Kafka【基础知识 01】消息队列介绍+Kafka架构及核心概念(图片来源于网络)
【2月更文挑战第20天】Kafka【基础知识 01】消息队列介绍+Kafka架构及核心概念(图片来源于网络)
94 2
|
2月前
|
SQL 分布式计算 Hadoop
Azkaban【基础 01】核心概念+特点+Web界面+架构+Job类型(一篇即可入门Azkaban工作流调度系统)
【2月更文挑战第6天】Azkaban【基础 01】核心概念+特点+Web界面+架构+Job类型(一篇即可入门Azkaban工作流调度系统)
101 0
|
6月前
|
监控 负载均衡 测试技术
服务网格简介:探索现代微服务架构中的服务网格概念和价值
服务网格简介:探索现代微服务架构中的服务网格概念和价值
108 0
|
7月前
|
监控 数据管理 API
深入了解微服务架构:从概念到实践
微服务架构是近年来在软件开发领域崭露头角的一种架构范式。它的灵活性和可伸缩性使其成为许多大型企业和创业公司的首选。本文将深入介绍微服务架构的概念、优势、挑战以及实际应用。
|
6月前
|
XML Java 数据格式
Spring框架(二) 底层架构核心概念解析-四万字你值得一看
上面说到解析为BeanDefintion之后会注册到Spring容器中 , 那么什么是容器? 其实在DefaultListableBeanFactory这个类中就有体现 , 源码中是这样定义的
59 0
|
4月前
|
存储 分布式计算 Hadoop
【大数据技术Hadoop+Spark】HDFS概念、架构、原理、优缺点讲解(超详细必看)
【大数据技术Hadoop+Spark】HDFS概念、架构、原理、优缺点讲解(超详细必看)
122 0
|
4月前
|
安全 Java 大数据
Spring概述、系统架构及核心概念
Spring概述、系统架构及核心概念
166 0
|
1月前
|
消息中间件 存储 SQL
Flume【基础知识 01】简介 + 基本架构及核心概念 + 架构模式 + Agent内部原理 + 配置格式(一篇即可入门Flume)
【2月更文挑战第18天】Flume【基础知识 01】简介 + 基本架构及核心概念 + 架构模式 + Agent内部原理 + 配置格式(一篇即可入门Flume)
474 0
|
3月前
|
消息中间件 负载均衡 监控
微服务架构:从概念到实践
微服务架构是一种面向服务的架构风格,旨在将复杂的应用程序拆分成更小、更可管理的部分。本文将介绍微服务架构的概念和原则,并提供一些实践经验和最佳实践。
|
7月前
|
存储 Kubernetes 调度
容器技术基础-Kubernetes 概念与架构
容器技术基础-Kubernetes 概念与架构
166 0

热门文章

最新文章