4

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

 2 years ago
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.
neoserver,ios ssh client
各位所在公司有 DDD 的落地实现吗?
56 条回复    2021-11-18 22:27:24 +08:00

libook

libook   1 天前

感觉这玩意还在炒作期,等到冷静期再说。

Rwing

Rwing   1 天前

DDD 落地还是挺多的,几年前就比较热了。
曾经实操过一个,感觉不错,但是前期比较花时间

xwayway

xwayway   1 天前

思想很重要,落地是另外一回事,符合自身的一套实践才是最有价值的。

3country

3country   1 天前

思想觉得是不错,但是感觉站在公司的角度一般不会这么搞。。。毕竟现在还没有成熟

RealJacob

RealJacob   1 天前

做过的几个项目都是 DDD ,基本上大组里的项目也都是 DDD 思想了,但是领域到底多合理,也说不上来,感觉领域层设计也没有特别缜密的设计。用起来倒是感觉也还不错

chendy

chendy   1 天前

值得学习和参考
落地挺难的,需要所有人(包括客户)的水平都到位,而且资源充足

meteor957

meteor957   1 天前

自己玩玩还行,在公司推就算了

3country

3country   1 天前

@chendy 是的,感觉在公司落地挺难的,小公司新项目还好点

Rwing

Rwing   1 天前   ❤️ 1

@3country 公司项目,ddd 其实成熟好多年了,.NET 领域挺多的,主要是公司愿不愿意在前期付出较多的成本,再者项目够不够大

Jooooooooo

Jooooooooo   1 天前

ddd 在于思路不在于怎么编码.

guanhui07

guanhui07   1 天前

同意 需要所有人的水平都到位 不然挺难落地

ericgui

ericgui   1 天前

soupu626

soupu626   1 天前

DDD 要一个能说上话的,思路清晰的好架构师,前期花时间分析规划,不然硬套只能徒增复杂度

qwe520liao

qwe520liao   1 天前   ❤️ 1

DDD 里面确实有一系列指导程序编码的战术设计,但更多的是强调概念统一,减少翻译的层数,使得讨论的问题跟编码设计都能够一一对应上。

举个例子,就像一个游戏,五六个人站成一列,最后的那个人在前面那个人的背上写字,然后依次传递信息到第一个人上。人数越多,那么错误的概率也就越大。如果确实有人连字都不认识的话,那么即便只有两三个人也会导致这个问题。

DDD 就是告诉你,在一个建模的框架范围内,大家都具备这些框架的基础理论知识,然后基于这些建模框架构建出一套人人都能理解的模型,使其高度契合产品的业务需求,避免产生概念 /模型不一致的情况。

cxe2v

cxe2v   1 天前   ❤️ 2

楼上说还在炒作期的是不是有点落后了,我 14 年写代码时就在用 DDD 了,还是个小公司

h82258652

h82258652   1 天前

难,没有领域专家。开发连业务流程都是懵的。
直接对着原型糊三层架构完事。

jackLoveDota

jackLoveDota   1 天前

git 上有没有 ddd 练手的项目推荐下

2i2Re2PLMaDnghL

2i2Re2PLMaDnghL   1 天前

如果业务以中文沟通,那么变量函数 URL 用中文命名就实现了一半的 DDD

q474818917

q474818917   1 天前

使用 ddd 指导业务开发,而不能照搬 ddd 模式去写代码

lian3204321

lian3204321   1 天前

ddd 在我的理解里面就是在拆分和分析业务时非常有用,具体的代码实现,按照组内规范去做就好了。

fkdog

fkdog   1 天前

这东西跟 restful 一样,本身属于是一种架构设计风格。
他们最大的缺陷就是在于想象很美好,现实很骨感。
一旦落地到实际应用里,真按照规范来操作反而会异常的别扭。
所以我的建议是对这些规范适当借鉴吸取,而非全盘照搬。

我很讨厌那些没敲几年代码水平一般,但是整天把 restful 规范挂嘴上的人,一天到晚没事干跑到版面争论业务 code 和 http status code 要不要分开的问题。《狗头》

kop1989

kop1989   1 天前

别的不说。这篇文档阅读性太差。

这文档光引言就说了 DDD13 次。通篇提及“DDD”21 次,也没解释什么是 DDD 。甚至连 DDD 的全称是什么都没写过。

让人心理极度不适。

Ib3b

Ib3b   1 天前

ddd 不是老生常谈了吗,实际上用的还是 dao 、service 那套

LemonK

LemonK   1 天前

思想早就普遍应用了吧。完整规范太重了,全部照搬不合适,中小系统适当参考还不错。

Brentwans

Brentwans   1 天前   ❤️ 12

落地了 Deadline-Driven Development 挺好的

min

min   1 天前

真落地的话,对开发团队和架构师的要求都很高,这点成本无脑搞 java 微服务产出更高不香么?

SmiteChow

SmiteChow   1 天前   ❤️ 1

老瓶装新酒,DDD 往大了说山头主义,往小了说 OOP 里的封装而已。TDD 才是各位应该实践的真知。

lasuar

lasuar   1 天前

用过 PDD

xhinliang

xhinliang   1 天前

好多 DDD 教徒,我工作中接触过几个,发现都是形式大于内容的货色...

FreeEx

FreeEx   1 天前

python 看了沉默,golang 听了摇头,php 直呼牛逼。

ericls

ericls   1 天前 via iPhone

解决什么问题
你有没有遇到同样问题?

cassyfar

cassyfar   1 天前

别说落地。。。现在都只是在网上听说过。感觉根本就不是门槛问题,主要这东西学院味太浓,工业界不实用。

hailiang88

hailiang88   1 天前

论如何写出优雅的业务代码

changz

changz   1 天前

加个层改个名字,DDD Done /狗头

locochen

locochen   1 天前 via iPhone

云山新项目都走 ddd 了

flighter

flighter   1 天前

新项目用 DDD , 老项目在往 DDD 重构中, 项目前期比较花时间,部分项目已落地,不能照搬 ddd 模式吧,按实际具体业务

Chad0000

Chad0000   1 天前 via iPhone

@flighter #39 对的没必要照搬,就像 restful 。这个只要做到了业务拆清楚就已经帮助很多了。

pengtdyd

pengtdyd   1 天前

国内大部分项目都是一锤子买卖,用 DDD 怕不是自己玩死自己,在国内做项目快速开发比较重要,然后钱收到了,谁爱维护谁维护去!

xuanbg

xuanbg   1 天前

没有,这玩意思想是好的,但没法照本宣科去落地。当然,就领域的划分而言,用在微服务上面是极好的。

snw

snw   1 天前 via Android

.NET 看了一脸懵逼,这不是教科书式的常规操作吗,有啥特别的...

fuxkcsdn

fuxkcsdn   21 小时 42 分钟前

上家公司有个项目组用 DDD ,开发了 3 年才成型(期间迭代了 3 个大版本,3 年是那个项目 leader 自己说的),好不容易熬出头了,疫情来了,公司(旅游相关)快倒闭了

ericgui

ericgui   21 小时 2 分钟前

如果你一个项目的寿命比超过 3 年,你搞什么 DDD

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

你们感受一下

nicebird

nicebird   14 小时 10 分钟前

说实话没太懂 DDD

docker2018

docker2018   13 小时 29 分钟前

我司有个项目组用的阿里巴巴的 DDD 框架 COLA 落地了项目了,整的还挺好的。

zydxt

zydxt   13 小时 16 分钟前   ❤️ 2

DDD 和六边形架构要区分清楚啊,文章中这个上来就是代码一定不是 DDD 。
DDD 要梳理业务,划分上下文、聚合(一般是事件风暴法),最后得到一个业务模型,到这一步为止一行代码都没有。之后是用代码实现这个模型,六边形是常见但不是唯一的实现架构。
DDD 的核心就是这个建模过程,没有建模就上代码属于无源之水

RubyJack

RubyJack   12 小时 41 分钟前

oop 搞明白就行了

byte10

byte10   9 小时 16 分钟前

@Jooooooooo 好家伙,你搞明白了。领域编程,其实就是在乎思想。由于我们写方法 /函数 基本一定是 过程化编程,那么就会习惯性导致整个系统项目都是过程化编程,所以要整个项目都是面向对象编程其实很难。

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


我一般推荐 ddd 在微服务上践行,单个服务就是一个领域,不管你用啥编程模型和语言。但是整个微服务作为一个系统,应该要符合 DDD 的思想,就是一个 DDD 设计出来的系统,符合 DDD 的基本规则规范。

hst001

hst001   9 小时 8 分钟前 via Android

DDD 落地很难,不理解 DDD 思想的人去看 DDD 架构的代码会觉得很多无法理解的奇怪行为,实际操作起来也确实比较麻烦和费事,好处是更新维护心理负担少了。

joeymao

joeymao   6 小时 33 分钟前

DDD 开发差不多两年,目录结构照 ddd 模式套,实际上还是面相过程,仅仅做到的就是把 domian 贫血模型,改成充血,service 业务放入 domain 处理。

cstj0505

cstj0505   5 小时 11 分钟前

@SmiteChow 别说 TDD ,光是使用面向对象把业务模型和逻辑理清楚很多都做不到。

BQsummer

BQsummer   3 小时 17 分钟前

@docker2018 cola 一年更新 4 个大版本,ali 有项目用这玩意儿我就倒立洗头

risky

risky   31 分钟前

核心是要紧密贴合业务, 统一语言, 做专家系统

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK