Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >领域驱动的架构思维

在复杂业务系统设计中,您如何平衡"领域模型纯度"与"工程实现成本"?是否有值得警惕的过度设计反模式?

已邀请
等1人回答

回答 1

李智慧

发布于 2025-04-24 09:02:10

先说个题外话,我个人反对技术应用实践中的“纯度”,我主张一切从实践出发,一切以目标和价值为导向,一切以成败论英雄。白猫黑猫,抓住老鼠就是好猫~~~ 发对技术原教旨主义~~~

关于平衡领域驱动设计和工程实现成本,下图可以参考

项目复杂度越低,CRUD的简单开发方式成本更低;复杂度越高,DDD的开发成本更有优势。CRUD方法和DDD方法的复杂度成本曲线有个交叉点,交叉点左边适合CRUD,交叉点右边适合DDD。那么如何判断交叉点呢,这个就是架构师的经验了~~~ 经验真的还是很重要的~~~

我自己实践的做法是,一开始用CRUD,随着业务不断发展,项目变得越来越复杂,开发维护进度明显变慢的时候,对系统进行DDD重构。因为对很多互联网项目而言,很多时候,业务还没有发展到足够复杂的时候,就已经关闭了,用这种方法综合成本最低。当然,非互联网项目场景有自己的特点,需要架构师根据经验判断。

和开发者交流更多问题细节吧,去 写回答
相关文章
领域驱动架构风格
当限界上下文根据不同的业务场景定义为不同的通信边界时,即演变为面向服务架构模式(或者认为是单体架构与微服务架构组成的混合架构);
张逸
2023/03/23
5340
领域驱动架构风格
《解构领域驱动设计》思维导图
《解构领域驱动设计》全书的脉络是按照领域驱动设计统一过程的脉络开展叙述的,核心内容就是构成领域驱动设计统一过程的三个阶段:
张逸
2023/03/23
6800
《解构领域驱动设计》思维导图
领域驱动设计中的架构要素
多数时候,领域驱动设计的分层架构并不能清晰表达各模块之间的依赖关系,以及这些模块在分层架构中所处的位置。因为我倾向于将Uncle Bob的Clean Architecture与DDD的分层架构整合起来,如下图所示:
张逸
2018/10/10
3.6K0
领域驱动设计中的架构要素
「首席架构看领域驱动设计」领域驱动的设计和开发最佳实践
域驱动设计(DDD)是关于将业务域概念映射到软件构件的。关于这个主题的大多数文章和文章都是基于Eric Evans的《领域驱动设计》一书,主要从概念和设计的角度覆盖了领域建模和设计方面。这些文章讨论了DDD的主要元素,如实体、价值对象、服务等,或者讨论了泛在语言、有界上下文和反腐败层等概念。
架构师研究会
2019/11/27
1.7K0
企业架构与领域驱动设计的融合
DDD的作用范围主要还是针对系统级的分析、架构与设计,在更高的层面上,即将问题空间扩大到超过系统范围,变成企业或组织范围之后,DDD的模式就显得捉襟见肘了。此时,可以考虑引入企业架构的思想,尤其是业务架构的内容,给了DDD很好的补充,又或者说,将企业架构与DDD融合起来,就能真正串联起战略和战术设计了。
张逸
2023/03/23
2750
企业架构与领域驱动设计的融合
领域驱动设计(DDD)的几种典型架构
我们生活中都听说了DDD,也了解了DDD,那么怎么将一个新项目从头开始按照DDD的过程进行划分与架构设计呢?
肉眼品世界
2022/04/19
5180
领域驱动设计(DDD)的几种典型架构
前端架构之 React 领域驱动设计
下面的自带响应式,getter,setter 也自动给出了,同时使用了工厂模式,不需要了解函数内部的逻辑。
ConardLi
2021/07/16
1.6K0
《解构领域驱动设计》架构映射篇
本阶段,映射成为了获得架构的主要设计手段。价值需求中利益相关者、系统愿景和系统范围可映射为系统上下文,业务活动通过对业务相关性的归类与归纳可映射为限界上下文,二者又是构成系统架构的重要层次,前者勾勒出解空间的控制边界,后者勾勒出领域模型的知识边界,组成了一个稳定而又具有演进能力的领域驱动架构。
张逸
2023/03/23
5130
《解构领域驱动设计》架构映射篇
DDD领域驱动设计实战-分层架构
整洁架构、CQRS、六边形架构等微服务架构都旨在“高内聚低耦合”。那DDD分层架构又如何?
JavaEdge
2021/01/22
1.9K0
DDD领域驱动设计实战-分层架构
前端架构之 React 领域驱动设计
下面的自带响应式,getter,setter 也自动给出了,同时使用了工厂模式,不需要了解函数内部的逻辑。
Nealyang
2021/10/27
2.2K1
架构视角 - DDD、TDD、MDD领域驱动、测试驱动还是模型驱动?
提出问题     「领域驱动设计」之于微服务,好比麦当劳之于汉堡(个人更喜欢肯德基,汉堡要大些,麦当劳的汉堡,想吃顿饱饭,请先给我上6个?)。但是TDD测试驱动、MDD模型驱动好像也很火啊,到底什么在
静儿
2019/05/15
4.1K0
DDD领域驱动的三种分层架构
来源:https://www.jianshu.com/p/a775836c7e25
JAVA日知录
2021/04/07
1.7K0
DDD领域驱动的三种分层架构
DDD 领域驱动模型设计中的分层架构
在分解复杂的软件系统时,分层是我们最常用的手段之一。然而,在领域驱动设计中,层次和包的划分看起来与我们的结构又有一定区别,本文主要讨论DDD中的分层架构及每层的意义,以及与传统的三层架构的区别。
一个会写诗的程序员
2019/12/11
6.6K0
领域驱动设计之体系架构模式
我们传统的体系架构模式是三层架构: 我认为传统的三层架构主要存在以下问题: 1.业务层直接访问数据访问层,也就是业务层直接与数据打交道,与数据实现机制绑定太紧。 2.数据访问层的地位太突出,而且没有体
用户1910585
2018/05/11
7510
DDD领域驱动设计在微服务架构的应用
我们都自诩面向对象编程,OOP思想更是熟读于心,然而随着业务日益复杂,代码越来越臃肿,这时感觉之前面向对象的理论也毫无用武之地。到底哪个环节出问题了?笔者认为造成这种局面的原因很大程度是我们忽视了业务建模和设计的重要性。我们通常启动一个项目后,架构师等技术人员会拿到产品人员的产品需求然后开始各种建模、各种拆分,也是在技术内部形成共识和就进入实施阶段。这实际就犯了一个严重的错误:技术和业务未达成业务模型的共识。2003年Eric Evans发布首版《领域驱动设计》实际就为了解决这个问题。领域驱动设计更大层面是提供了方法论的支持,所以在具体实施各有不同。今天我们就介绍下我们在实践过程领域驱动设计的一些经验与心得。
vakinge
2023/02/22
6750
微服务与领域驱动设计,架构实践总结
如果软件系统存在持续的迭代周期,那么其中业务、技术、架构的复杂性都会直线拉升,其相应的开发难度也会提高,可以用一句话总结其根本原因:唯一不变的就是变化;
知了一笑
2022/06/14
4870
微服务与领域驱动设计,架构实践总结
【系统架构】可视化与领域驱动设计
从DDD的角度,领域逻辑的分析可以运用战略方法Bounded Context。可是,一个问题是:如何获得Bounded Context ? 我查看了许多关于Bounded Context的书籍与文章,虽然都着重强调了它的重要性,也给出了一些实例,却对如何从需求——>Boundex Context这一点上语焉不详。 一个初步设想 我的初步设想是通过绘制场景图(但并不成熟)。我认为有三种绘制场景图的方式:商业画布,体验地图和流程图。我认为,商业画布可以作为需求分析(尤其针对初创产品)的起点。商业画布如下图所示:
张逸
2018/03/07
1.3K0
【系统架构】可视化与领域驱动设计
【领域驱动设计】Redux 和领域驱动设计
Redux 的创建者 Dan Abramov 说他不知道什么是领域驱动设计。尽管如此,令人印象深刻的是 Redux 与 DDD 的相似之处。在本文中,我解释了 DDD 是什么,一些关键概念,以及 Redux 如何实现其思想。理解两者,我们可以提供更好的实现;来自不同世界的两种方法相互碰撞并利用相同的设计原则。
架构师研究会
2022/05/11
1.6K0
【领域驱动设计】Redux 和领域驱动设计
对DDD(领域驱动设计)分层架构的理解(适合新人)
目前团队大多数项目都是基于DDD分层架构开发的,而不是传统的MVC模式,这就让很多之前没有接触过DDD思想的同学在刚开始接触项目的时候有点懵。那么什么DDD?这种DDD项目结构和之前的有哪些不同,我该如何开发我的代码,开发不同职责的代码该放在哪里?下面就我的理解,说一说DDD的分层架构。
架构之家
2022/09/27
2.2K0
对DDD(领域驱动设计)分层架构的理解(适合新人)
基于领域驱动设计的业务中台架构设计
软件设计首要面对的挑战是如何应对复杂多变的业务问题。而对于业务中台来说,这个问题变得尤为突出。一方面,数字化时代,高度不确定并且快速变化的商业环境必然要求企业的业务也能够及时快速的响应,业务复杂度随之也越来越高;另一方面,业务中台作为企业级能力承载与共享的中台,它是要把大部分业务能力积累沉淀为上层应用能够共享复用的能力池。如何识别与隔离业务中的变与不变,保持复杂度总体可控,并使业务中台架构如实地与业务保持演进,是业务中台构建的关键。
爱撸猫的杰
2020/07/16
1.2K0
基于领域驱动设计的业务中台架构设计

相似问题

aigc在物联网架构领域会有怎样的可能性呢?

016

基于领域驱动的设计建模、开发平台(成熟商业产品推荐)?

069

flask鱼书项目的思维导图有高清的吗?

1615

对于一个想要转型成为架构师的资深开发人员,需要在技能、思维方式和工作方法上做出哪些关键的转变?

016

面向服务的架构、微服务架构有何区别?

74.8K
相关问答用户
新浪微博 | 高级总监擅长4个领域
腾讯云TDP | 产品KOL擅长5个领域
某公司 | 程序员擅长1个领域
萃橙科技 | 合伙人擅长4个领域
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档