本视频详细介绍了领域驱动设计(DDD)的关键概念,包括统一语言、聚合根、领域事件、实体、值对象以及仓库等术语。DDD 的核心并非技术细节,而是强调软件设计的语言和结构应与业务领域对齐,从而构建出领域专家与技术人员都能理解的丰富模型。值对象(如颜色)应当是不可变且基于它们的值来比较相等性。实体(如轮胎)则通过唯一ID标识,即使属性相同也视为不同实例。领域事件表示领域中重要发生 […]
本视频详细介绍了领域驱动设计(DDD)的关键概念,包括统一语言、聚合根、领域事件、实体、值对象以及仓库等术语。DDD 的核心并非技术细节,而是强调软件设计的语言和结构应与业务领域对齐,从而构建出领域专家与技术人员都能理解的丰富模型。值对象(如颜色)应当是不可变且基于它们的值来比较相等性。实体(如轮胎)则通过唯一ID标识,即使属性相同也视为不同实例。领域事件表示领域中重要发生 […]
软件系统是通过软件开发来解决某一个业务领域或问题单元而产生的一个交付物。而通过软件设计可以帮助我们开发出更加健壮的软件系统。因此,软件设计是从业务领域到软件开发之间的桥梁。而DDD是软件设计中的其中一种思想,旨在提供一种大型复杂软件的设计思路和规范。通过DDD思想可以让我们的业务架构、系统架构、部署架构、数据架构、工程架构等都具备高扩展性、高维护性和高测试性。 但是落地DD […]
在上一部分,分层架构的目的是为了将业务规则剥离出来在单独的领域层中进行实现。再回顾一下领域驱动设计的分层中应用层代码的实现。 @Override public void pay(int orderId, float amount) { DesignerOrder order = designerOrderRepository.selectByKey(orderId); // […]
反映业务规则的代码是整个软件的核心,但是它一般只占很小的一部分,在传统的基于贫血模型的分层软件架构中,业务规则可能分散到各个层、各个代码段,从而使得通过代码来还原业务规则或者保证代码与业务规则一致将变得非常困难。DDD分层架构的核心思想就是将所有业务规则的代码抽取到领域层,保证领域层的编码与领域模型是完全一致的。 下图是DDD的分层架构。 一定要牢记:DDD分层架构一个核心 […]
CRUD (1)Event Sourcing (1)graphql (1)id (1)quarkus (1)rest (1)RocketMQ (1)Spring Boot (1)zk (1)zookeeper (1)事务消息 (1)值对象 (1)原子性 (1)唯一ID (1)子域 (1)幂等 (1)康威定律 (1)微服务架构 (1)总体方案 (1)持续集成 (1)支撑域 (1)故障恢复 (1)数据架构图 (1)方案选型 (1)日记 (1)服务发现 (1)服务治理 (1)服务注册 (2)机房 (1)核心域 (1)泄漏 (1)洋葱架构 (1)消息队列 (2)源码剖析 (1)熔断 (1)生态 (1)画图工具 (1)研发团队 (1)线程 (2)组织架构 (1)编码 (1)视频 (10)读写分离 (1)贵州 (1)软件设计 (1)迁移 (1)通用域 (1)集群化 (1)雪花算法 (1)顺序消息 (1)
COPYRIGHT © 2014-2024 verysu.com . ALL RIGHTS RESERVED.
Theme Kratos Made By Seaton Jiang