4
各位所在公司有 DDD 的落地实现吗?
source link: https://www.v2ex.com/t/815951
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
各位所在公司有 DDD 的落地实现吗?
56 条回复 • 2021-11-18 22:27:24 +08:00
ericgui 1 天前
qwe520liao 1 天前 1
DDD 里面确实有一系列指导程序编码的战术设计,但更多的是强调概念统一,减少翻译的层数,使得讨论的问题跟编码设计都能够一一对应上。
举个例子,就像一个游戏,五六个人站成一列,最后的那个人在前面那个人的背上写字,然后依次传递信息到第一个人上。人数越多,那么错误的概率也就越大。如果确实有人连字都不认识的话,那么即便只有两三个人也会导致这个问题。
DDD 就是告诉你,在一个建模的框架范围内,大家都具备这些框架的基础理论知识,然后基于这些建模框架构建出一套人人都能理解的模型,使其高度契合产品的业务需求,避免产生概念 /模型不一致的情况。
举个例子,就像一个游戏,五六个人站成一列,最后的那个人在前面那个人的背上写字,然后依次传递信息到第一个人上。人数越多,那么错误的概率也就越大。如果确实有人连字都不认识的话,那么即便只有两三个人也会导致这个问题。
DDD 就是告诉你,在一个建模的框架范围内,大家都具备这些框架的基础理论知识,然后基于这些建模框架构建出一套人人都能理解的模型,使其高度契合产品的业务需求,避免产生概念 /模型不一致的情况。
fkdog 1 天前
这东西跟 restful 一样,本身属于是一种架构设计风格。
他们最大的缺陷就是在于想象很美好,现实很骨感。
一旦落地到实际应用里,真按照规范来操作反而会异常的别扭。
所以我的建议是对这些规范适当借鉴吸取,而非全盘照搬。
我很讨厌那些没敲几年代码水平一般,但是整天把 restful 规范挂嘴上的人,一天到晚没事干跑到版面争论业务 code 和 http status code 要不要分开的问题。《狗头》
他们最大的缺陷就是在于想象很美好,现实很骨感。
一旦落地到实际应用里,真按照规范来操作反而会异常的别扭。
所以我的建议是对这些规范适当借鉴吸取,而非全盘照搬。
我很讨厌那些没敲几年代码水平一般,但是整天把 restful 规范挂嘴上的人,一天到晚没事干跑到版面争论业务 code 和 http status code 要不要分开的问题。《狗头》
kop1989 1 天前
别的不说。这篇文档阅读性太差。
这文档光引言就说了 DDD13 次。通篇提及“DDD”21 次,也没解释什么是 DDD 。甚至连 DDD 的全称是什么都没写过。
让人心理极度不适。
这文档光引言就说了 DDD13 次。通篇提及“DDD”21 次,也没解释什么是 DDD 。甚至连 DDD 的全称是什么都没写过。
让人心理极度不适。
fuxkcsdn 21 小时 42 分钟前
上家公司有个项目组用 DDD ,开发了 3 年才成型(期间迭代了 3 个大版本,3 年是那个项目 leader 自己说的),好不容易熬出头了,疫情来了,公司(旅游相关)快倒闭了
zydxt 13 小时 16 分钟前 2
DDD 和六边形架构要区分清楚啊,文章中这个上来就是代码一定不是 DDD 。
DDD 要梳理业务,划分上下文、聚合(一般是事件风暴法),最后得到一个业务模型,到这一步为止一行代码都没有。之后是用代码实现这个模型,六边形是常见但不是唯一的实现架构。
DDD 的核心就是这个建模过程,没有建模就上代码属于无源之水
DDD 要梳理业务,划分上下文、聚合(一般是事件风暴法),最后得到一个业务模型,到这一步为止一行代码都没有。之后是用代码实现这个模型,六边形是常见但不是唯一的实现架构。
DDD 的核心就是这个建模过程,没有建模就上代码属于无源之水
byte10 9 小时 16 分钟前
@Jooooooooo 好家伙,你搞明白了。领域编程,其实就是在乎思想。由于我们写方法 /函数 基本一定是 过程化编程,那么就会习惯性导致整个系统项目都是过程化编程,所以要整个项目都是面向对象编程其实很难。
@xhinliang 不仅仅是形式,太菜了,mad 。公司也有一些这样的人,也是有。
我一般推荐 ddd 在微服务上践行,单个服务就是一个领域,不管你用啥编程模型和语言。但是整个微服务作为一个系统,应该要符合 DDD 的思想,就是一个 DDD 设计出来的系统,符合 DDD 的基本规则规范。
@xhinliang 不仅仅是形式,太菜了,mad 。公司也有一些这样的人,也是有。
我一般推荐 ddd 在微服务上践行,单个服务就是一个领域,不管你用啥编程模型和语言。但是整个微服务作为一个系统,应该要符合 DDD 的思想,就是一个 DDD 设计出来的系统,符合 DDD 的基本规则规范。
hst001 9 小时 8 分钟前 via Android
DDD 落地很难,不理解 DDD 思想的人去看 DDD 架构的代码会觉得很多无法理解的奇怪行为,实际操作起来也确实比较麻烦和费事,好处是更新维护心理负担少了。
joeymao 6 小时 33 分钟前
DDD 开发差不多两年,目录结构照 ddd 模式套,实际上还是面相过程,仅仅做到的就是把 domian 贫血模型,改成充血,service 业务放入 domain 处理。
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK