2026-04-20 00:18

DDD 难落地,不一定是理念太重,很多时候是没人能把这条链路稳稳推完

这些年 DDD 最大的尴尬,其实不是没人认它。

知道它有价值的人真不少。谁都明白,业务系统真想做稳、做久、做清楚,光靠边写边改、流程堆流程,最后大概率会把自己绕进去。问题出在另外一层:大家不是不认 DDD,而是很难把它完整地落下来。

说白了,就是理儿都懂,真干的时候容易拉胯。

需求分析一层、建模一层、工程初始化一层、代码实现一层,每一层单拎出来都不算离谱,可一旦全套走下来,人就容易烦。很多团队最后的状态都差不多,嘴上聊聚合、命令、事件、边界,手一落到代码上,还是那套想到哪写到哪的熟悉路子。

所以我看 cleanddd-skills 这类项目,觉得它真正值钱的地方,不只是“给 AI 加了一组 Skill”,而是它在尝试解决 DDD 一直以来最现实的那个问题:

不是 DDD 对不对,而是这条链路到底谁来坚持。

以前这件事主要靠人扛。

需求得有人一点点拆,业务对象得有人慢慢捋,命令和事件得有人区分,模型结构得有人守着,后面的工程骨架和代码实现还得继续保持一致。理论上这是 DDD 的基本功,现实里却往往是最容易中途散掉的部分。

原因也不复杂。

因为这类工作既重要,又累,还特别吃耐心。它不像写一段核心逻辑那样能立刻带来成就感,也不像修一个线上问题那样有明确反馈。很多时候,它更像是在为未来不出问题提前交学费。人一忙,最容易先砍的就是这部分。

cleanddd-skills 的想法,其实挺朴素,但也挺实用:既然 CleanDDD 这套方法本身已经足够明确、足够有步骤,那为啥不把这条路径直接整理成一组可执行的 Skill,让 Agent 顺着这条线往下推?

这事一旦成立,DDD 的难点就不再只是“团队有没有懂的人”,而变成了“有没有把这套方法固化成可重复调用的工作流”。

这两者差别挺大。

前者靠经验,后者靠系统。

根据项目公开内容,cleanddd-skills 基本把整条链路拆成了四段:需求拆解、领域建模、项目初始化、代码实现。你可以把它理解成一套从“业务还在说人话”到“代码已经能落地”的流水线。

这个拆法是对的,而且挺关键。

因为很多所谓“AI 帮你做 DDD”的东西,问题就在于中间层断了。要么它直接从需求跳代码,中间建模虚得很;要么它停在概念分析上,说了一堆术语,最后没法往工程里接。cleanddd-skills 的价值,恰恰在于它没有只盯某一个环节,而是试图把需求、模型、工程骨架和实现串起来。

这就比单独给你一个“DDD 助手”强多了。

特别是它和 NetCorePal 这种工程承载框架结合之后,味道就更出来了。前面不是只分析给你看,后面也不是只给你一份图纸,而是能继续顺着这套结构落进 .NET 工程里。这个衔接非常重要。因为 DDD 最怕的,从来不是理念不清,而是中间断档。前面聊得头头是道,后面工程结构又走回老路,那前面的努力基本就白忙活了。

所以我更愿意把 cleanddd-skills 看成一种“把 DDD 工作方式产品化”的尝试。

以前 DDD 更像一套需要靠高手带着做的实践方法,现在它开始有机会被整理成一条可以被 Agent 执行、被团队复用、被项目反复调用的工作链路。这个变化挺值得重视。

因为它背后对应的是一个更大的趋势:

AI 不只是开始帮人写代码,也开始帮人守方法。

这件事非常关键。

过去很多团队用 AI,更多是把它当成一个代码生成器或者文档助手。可真正难的地方往往不是“有没有人替你写”,而是“写出来的东西有没有沿着正确的结构往前走”。如果 AI 只能补代码,那它更多只是加快产出速度;可如果 AI 开始能沿着一套明确的方法论去推进需求、模型、工程和实现的一致性,它才开始真正进入工程质量这一层。

这也是 cleanddd-skills 最有潜力的地方。

它不是在取代架构师,也不是在承诺 AI 自动把 DDD 全做明白。它更像是在把那些原本需要人不断提醒、不断回拉、不断纠偏的动作,先交给一套固定流程去兜着。你可以理解为,Agent 不再只是一个会敲代码的手,而开始像一个能陪着你按规矩走完整条链路的搭子。

对个人开发者来说,这种价值会更明显。

因为大团队至少还有人可以互相提醒,知道什么时候应该先分析、什么时候该停下来建模、什么时候不能直接往控制器里堆业务逻辑。可一个人做项目的时候,最容易图省事,先跑起来再说。结果往往是前期省的时间,后面全加倍还回来。

这种时候,如果 Agent 真能顺着 CleanDDD 的节奏帮你把需求拆清、模型理顺、工程骨架搭正、实现继续贴着模型走,那它带来的就不只是提效,而是少走很多弯路。

这事说到底,不是 AI 比人更懂 DDD,而是 AI 比人更适合长期、不嫌烦地执行那些本来就该做、但人最容易偷懒的步骤。

这也是为什么我觉得,像 cleanddd-skills 这类项目的意义,不只是给 .NET 生态添了几个 Skill,而是在证明另一件事:

AI 真正适合进入工程流程的地方,未必总是最有创造性的那部分,很多时候反而是那些高价值、强约束、但人最容易嫌麻烦的环节。

而 DDD,恰好就是这种典型场景。

所以如果你以前总觉得 DDD 难落地,问题也许不全在 DDD 本身。有时候真不是方法不行,而是这条路太长、太细、太磨人,靠人纯手工扛,确实容易扛一半就散了。

现在 AI 进来了,这事可能真要变一变了。

不是说 DDD suddenly 变简单了,而是终于有人,哦不,终于有东西,能帮你把这条又长又细的链路稳稳当当地往下推了。