V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
waytodelay
V2EX  ›  问与答

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

  •  
  •   waytodelay · 2023-03-23 16:49:34 +08:00 · 1357 次点击
    这是一个创建于 645 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    其次 DDD 最核心的优势是 可以通过定义通用语言实现产品跟技术无障碍沟通,不会出现产品定义了需求,开发出来的结果与产品的需求不一致,也可以要求产品定义需求的时候,按照领域来划分需求 尽量少的出现 由于某个需求太扯淡 导致模型堆屎
    单从代码角度 其实差别并不大,充血模型可以稍微借鉴一下,代码分层跟现在区别也不大 ,领域的定义从概念上讲更多的是根据业务去定义,也并不是一个领域对应一个项目这么简单的对应。 我目前呆过的公司 有几家都试着落地 DDD 从根本上讲 都不得善终
    urnoob
        2
    urnoob  
       2023-03-23 17:29:37 +08:00
    TDD 已抬走,下一个抬走的会是 DDD 吗?
    waytodelay
        3
    waytodelay  
    OP
       2023-03-23 18:58:35 +08:00
    @810975 感谢,大概有一个思路了。麻烦大佬帮忙看下我理解的对不对?
    1. 产品和研发都需要有 DDD 的思维,就是业务领域划分的时候模型尽量少重叠,各个领域尽量是专精
    2. 微服务拆分的时候不是单单一个服务就是一个业务领域,而是灵活变动
    3. 代码层面,要下沉通用方法,分层要明确每一层大概是做什么,业务层和数据层要明确
    810975
        4
    810975  
       2023-03-24 10:00:30 +08:00
    @waytodelay 差不多是这个意思吧 我也是个人理解 看了一些书 都很飘渺 没有落地实践。。 我觉得不太适合目前的开发环境。。就没再深入研究了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2747 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 11:36 · PVG 19:36 · LAX 03:36 · JFK 06:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.