架构设计 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和工厂隔离开了数据源和上层业务(领域实体)。

相关文章
|
4天前
|
缓存 前端开发 JavaScript
第三章(概念篇) 微前端架构模式
第三章(概念篇) 微前端架构模式
|
6天前
|
存储 负载均衡 分布式数据库
bigdata-27-HBase架构与概念
bigdata-27-HBase架构与概念
60 1
|
6天前
|
消息中间件 存储 缓存
Kafka【基础知识 01】消息队列介绍+Kafka架构及核心概念(图片来源于网络)
【2月更文挑战第20天】Kafka【基础知识 01】消息队列介绍+Kafka架构及核心概念(图片来源于网络)
129 2
|
6天前
|
SQL 分布式计算 Hadoop
Azkaban【基础 01】核心概念+特点+Web界面+架构+Job类型(一篇即可入门Azkaban工作流调度系统)
【2月更文挑战第6天】Azkaban【基础 01】核心概念+特点+Web界面+架构+Job类型(一篇即可入门Azkaban工作流调度系统)
105 0
|
5天前
|
缓存 自然语言处理 前端开发
第一章 引言-HTTP协议基础概念和前后端分离架构请求交互概述
第一章 引言-HTTP协议基础概念和前后端分离架构请求交互概述
|
6天前
|
Kubernetes API 调度
Kubernetes学习-核心概念篇(二) 集群架构与组件
Kubernetes学习-核心概念篇(二) 集群架构与组件
|
6天前
|
监控 云计算 开发者
探索云计算中的无服务器架构:从概念到实践
无服务器架构作为云计算领域的新兴技术,正在以其高效、灵活的特性吸引着越来越多的开发者和企业。本文将深入探讨无服务器架构的概念及其在云计算中的应用,通过实际案例展示如何利用无服务器架构构建可靠、可扩展的应用系统。
|
6天前
|
安全 Java 数据安全/隐私保护
Spring Boot优雅实现多租户架构:概念与实战
【4月更文挑战第29天】在多租户系统中,一个应用实例服务于多个租户,每个租户享有独立的数据视图,而应用的基础设施被共享。这样的架构不仅优化了资源使用,还能降低维护和运营成本。本文将详细介绍如何在Spring Boot中实现多租户架构,并提供具体的实战案例。
48 2
|
6天前
|
敏捷开发 运维 监控
【专栏】微服务架构,以敏捷、灵活著称,通过拆分大型应用为小型自治服务,简化开发运维
【4月更文挑战第27天】微服务架构,以敏捷、灵活著称,通过拆分大型应用为小型自治服务,简化开发运维。本文探讨其基本概念、起源,核心优势(如敏捷开发、高可伸缩性)及挑战(系统复杂度、数据一致性),并分享实施策略(服务划分、技术选型、CI/CD)与实践案例(Netflix、Uber、Spotify),展示微服务如何重塑软件开发,并成为未来复杂应用系统的基础。
|
6天前
|
存储 监控 API
【云原生系列】云计算概念与架构设计介绍
**云计算**是基于互联网的计算模式,通过共享计算资源(如服务器、存储、应用程序)提供高效、可扩展、可靠、安全和经济的服务。其架构通常包括**物理层**(服务器、存储、网络设备等基础设施)、**虚拟化层**(虚拟机、容器、虚拟网络等)、**平台层**(开发、运行时、数据库服务等)和**应用层**(企业应用、Web应用、移动应用)。云计算服务有IaaS、PaaS和SaaS,广泛应用于企业IT、开发测试、大数据处理、AI和远程办公等领域。为了确保性能和可靠性,云平台采用负载均衡、自动伸缩、备份恢复、安全措施和监控故障排除等方法。
31 1