面试问 DDD,究竟面试官想让我回答什么点呢?

2023-03-23 16:49:34 +08:00
 waytodelay

最近面试有被问到 DDD ,个人对这个不是很理解,应该要从什么方向去了解这个东西,然后回答的时候应该答到哪些点呢?

1357 次点击
所在节点    问与答
4 条回复
810975
2023-03-23 17:13:45 +08:00
DDD 的关键点,如何落地,落地阻力,落地实践,如何细分领域,怎么判断哪些是核心域 哪些是支撑域 哪些是通用域,如何分层,每层都改做什么,什么是充血模型,充血模型与贫血模型的区别是什么。

以我了解的 DDD 和落地经验,目前国内的市场很难落地 DDD 首先 DDD 的开发效率完全没有敏捷开发。

其次 DDD 最核心的优势是 可以通过定义通用语言实现产品跟技术无障碍沟通,不会出现产品定义了需求,开发出来的结果与产品的需求不一致,也可以要求产品定义需求的时候,按照领域来划分需求 尽量少的出现 由于某个需求太扯淡 导致模型堆屎
单从代码角度 其实差别并不大,充血模型可以稍微借鉴一下,代码分层跟现在区别也不大 ,领域的定义从概念上讲更多的是根据业务去定义,也并不是一个领域对应一个项目这么简单的对应。 我目前呆过的公司 有几家都试着落地 DDD 从根本上讲 都不得善终
urnoob
2023-03-23 17:29:37 +08:00
TDD 已抬走,下一个抬走的会是 DDD 吗?
waytodelay
2023-03-23 18:58:35 +08:00
@810975 感谢,大概有一个思路了。麻烦大佬帮忙看下我理解的对不对?
1. 产品和研发都需要有 DDD 的思维,就是业务领域划分的时候模型尽量少重叠,各个领域尽量是专精
2. 微服务拆分的时候不是单单一个服务就是一个业务领域,而是灵活变动
3. 代码层面,要下沉通用方法,分层要明确每一层大概是做什么,业务层和数据层要明确
810975
2023-03-24 10:00:30 +08:00
@waytodelay 差不多是这个意思吧 我也是个人理解 看了一些书 都很飘渺 没有落地实践。。 我觉得不太适合目前的开发环境。。就没再深入研究了

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

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

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

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

© 2021 V2EX