各位所在公司有 DDD 的落地实现吗?

2021-11-17 10:12:53 +08:00
 3country

看了殷浩的 DDD 文章,觉得还挺好的,想问一下各位怎么看待 DDD ?

9848 次点击
所在节点    程序员
59 条回复
pengtdyd
2021-11-17 18:44:39 +08:00
国内大部分项目都是一锤子买卖,用 DDD 怕不是自己玩死自己,在国内做项目快速开发比较重要,然后钱收到了,谁爱维护谁维护去!
xuanbg
2021-11-17 19:37:37 +08:00
没有,这玩意思想是好的,但没法照本宣科去落地。当然,就领域的划分而言,用在微服务上面是极好的。
snw
2021-11-17 19:41:07 +08:00
.NET 看了一脸懵逼,这不是教科书式的常规操作吗,有啥特别的...
fuxkcsdn
2021-11-18 01:16:34 +08:00
上家公司有个项目组用 DDD ,开发了 3 年才成型(期间迭代了 3 个大版本,3 年是那个项目 leader 自己说的),好不容易熬出头了,疫情来了,公司(旅游相关)快倒闭了
ericgui
2021-11-18 01:56:54 +08:00
如果你一个项目的寿命比超过 3 年,你搞什么 DDD

中国民营企业平均寿命 3.7 年,中小企业平均寿命 2.5 年

你们感受一下
nicebird
2021-11-18 08:48:37 +08:00
说实话没太懂 DDD
docker2018
2021-11-18 09:29:57 +08:00
我司有个项目组用的阿里巴巴的 DDD 框架 COLA 落地了项目了,整的还挺好的。
zydxt
2021-11-18 09:42:27 +08:00
DDD 和六边形架构要区分清楚啊,文章中这个上来就是代码一定不是 DDD 。
DDD 要梳理业务,划分上下文、聚合(一般是事件风暴法),最后得到一个业务模型,到这一步为止一行代码都没有。之后是用代码实现这个模型,六边形是常见但不是唯一的实现架构。
DDD 的核心就是这个建模过程,没有建模就上代码属于无源之水
RubyJack
2021-11-18 10:17:57 +08:00
oop 搞明白就行了
byte10
2021-11-18 13:42:42 +08:00
@Jooooooooo 好家伙,你搞明白了。领域编程,其实就是在乎思想。由于我们写方法 /函数 基本一定是 过程化编程,那么就会习惯性导致整个系统项目都是过程化编程,所以要整个项目都是面向对象编程其实很难。

@xhinliang 不仅仅是形式,太菜了,mad 。公司也有一些这样的人,也是有。


我一般推荐 ddd 在微服务上践行,单个服务就是一个领域,不管你用啥编程模型和语言。但是整个微服务作为一个系统,应该要符合 DDD 的思想,就是一个 DDD 设计出来的系统,符合 DDD 的基本规则规范。
hst001
2021-11-18 13:50:08 +08:00
DDD 落地很难,不理解 DDD 思想的人去看 DDD 架构的代码会觉得很多无法理解的奇怪行为,实际操作起来也确实比较麻烦和费事,好处是更新维护心理负担少了。
timethinker
2021-11-18 15:20:24 +08:00
joeymao
2021-11-18 16:25:42 +08:00
DDD 开发差不多两年,目录结构照 ddd 模式套,实际上还是面相过程,仅仅做到的就是把 domian 贫血模型,改成充血,service 业务放入 domain 处理。
cstj0505
2021-11-18 17:47:07 +08:00
@SmiteChow 别说 TDD ,光是使用面向对象把业务模型和逻辑理清楚很多都做不到。
BQsummer
2021-11-18 19:41:42 +08:00
@docker2018 cola 一年更新 4 个大版本,ali 有项目用这玩意儿我就倒立洗头
risky
2021-11-18 22:27:24 +08:00
核心是要紧密贴合业务, 统一语言, 做专家系统
fuxkcsdn
2021-11-19 01:01:07 +08:00
@qwe520liao 不是
docker2018
2021-11-19 09:56:17 +08:00
@BQsummer 这就不要杠了,人家问的是有落地与否,我只是说一下我司是落地了的。
dongsoso
2021-11-19 17:54:42 +08:00
目前我司正处于使用 DDD 完全重构所有服务的尾声。附一篇个人觉得好的文章
https://mp.weixin.qq.com/s/PjNc7YLKT5JX_Obg2815Bg

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/815951

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX