当前位置: 首页 > article >正文

DDD难落地?就让AI干吧!

DDD 这些年一直有点尴尬。知道它有价值的人不少真正愿意照着它的方式把需求、模型、结构和代码一步一步做下来的人并不多。最常见的印象也差不多概念多、步骤多、层次多看起来像是把原本能直接写出来的业务系统又绕了一圈。这个判断里有误解也有现实原因。误解在于很多时候被嫌“繁琐”的部分恰恰是业务系统要做稳、做久、做清楚本来就需要的动作。现实原因在于如果手里没有合适的框架和方法这些动作确实很难坚持最后就会变成理念知道一点工程做成另外一套。工具层面NetCorePal 解决了框架和工程承载的问题。具体到实操层面现在有了 AI这件事开始变得简单起来。我们把 CleanDDD 实践里需要遵守和执行的核心原则整理成 skills让 AI Agent 能沿着固定顺序参与需求分析、领域建模、项目初始化和代码实现。由于 CleanDDD 本身的原则和方法都非常明确、可执行AI Agent 参与进来会比较自然整个过程也更容易组织起来。于是就有了cleanddd-skills。cleanddd-skills 包含哪些内容cleanddd-skills主体由四个部分组成cleanddd-requirements-analysiscleanddd-modelingcleanddd-dotnet-initcleanddd-dotnet-coding这四个部分分别处理四类事情requirements-analysis负责把需求整理成结构化描述。modeling负责把结构化需求描述转换成系统模型结构。dotnet-init负责在需要时根据模型结果初始化新的工程骨架。dotnet-coding负责在需求、模型和工程结构已经明确的基础上继续完成实现。如果是新工程通常会按完整链路使用requirements-analysis - modeling - dotnet-init - dotnet-coding如果已经有工程可以直接使用requirements-analysis - modeling - dotnet-codingcleanddd-skills的重点不在于把四个 skill 摆在那里而在于把实践 CleanDDD 的过程组织成一条前后连续的流程。requirements-analysiscleanddd-requirements-analysis只处理需求本身不进入建模也不进入代码。这一部分的任务是把原始需求整理成后面能继续使用的结构化描述。通常会涉及这些内容干系人是谁业务对象有哪些每条需求归属于哪个对象哪些是动作哪些是状态哪些是约束哪些触发会引出后续行为哪些依赖关系是显性的哪些关系藏在描述背后这一部分体现的 CleanDDD 实践重点很明确先用业务语言把问题说明白再进入模型语言。如果需求阶段还是散乱的自然语言后面的建模就很容易依赖临时理解。而 requirements-analysis 做的就是把这些输入先整理成适合建模的形式。这一部分的产出不是为了写一份好看的文档而是为了给 modeling 提供明确输入。modelingcleanddd-modeling接在 requirements-analysis 后面负责把结构化需求描述继续转换成系统模型结构。这一部分通常会整理出聚合命令事件查询API Endpoint定时任务这一部分的工作重点不是解释术语而是确定结构和归属。哪些行为进入哪个聚合。哪些变化表达为命令。哪些变化表达为事件。哪些操作只是查询。哪些能力通过 Endpoint 对外暴露。哪些行为适合异步或周期性处理。这一部分体现的 CleanDDD 实践重点主要包括先确定边界再进入实现命令、事件、查询各有各的位置模型作为需求和实现之间的中间结构规则尽量由对应模型负责如果没有 modeling 这一层需求很容易直接进入代码系统后面会越来越像流程拼装。有了这一步后续工程结构和代码实现就有了清楚依据。dotnet-initcleanddd-dotnet-init是可选步骤用于新工程初始化。如果准备从零开始创建一个新的 .NET / NetCorePal 工程这一步就会使用。如果工程已经存在这一步可以跳过直接进入cleanddd-dotnet-coding。这一部分处理的内容重点不是普通意义上的“起项目”而是根据前面的模型结果初始化工程骨架。通常会包括使用 NetCorePal Template 初始化项目确定解决方案和工程结构确定基础技术选项为后续聚合、命令、事件、查询、Endpoint 等实现准备对应位置这一部分体现的 CleanDDD 实践重点是模型不只停留在描述里还要继续进入工程结构。NetCorePal 在这里承担的是承载角色。前面的 requirements-analysis 和 modeling 更偏分析和设计到了 dotnet-initNetCorePal 开始把这些结果带到实际工程里。如果是新项目这一步很自然如果是已有项目就不需要额外做一次初始化。dotnet-codingcleanddd-dotnet-coding进入的是实现阶段。这一部分不是单纯“写代码”而是根据前面的需求结果、模型结果以及现有工程结构继续完成实际实现。通常会覆盖聚合实现命令处理查询处理领域事件API Endpoint仓储配置测试这一部分体现的 CleanDDD 实践重点是让实现继续保持和需求、模型、工程结构的一致性。也就是说这里写的不是一段孤立代码而是对应前面的需求整理结果对应前面的模型结构对应现有工程骨架对应 NetCorePal 的实现方式如果是已有工程在 requirements-analysis 和 modeling 完成之后可以直接进入 dotnet-coding。如果是新工程dotnet-coding 则接在 dotnet-init 后面继续往下实现。如何使用cleanddd-skills的安装和使用说明项目 README 里已经写得很清楚https://github.com/netcorepal/cleanddd-skills/blob/main/README.mdREADME 给出的使用步骤如下。先克隆代码到本地git clone https://github.com/netcorepal/cleanddd-skills.git cd cleanddd-skills然后运行安装脚本将 skills 同步到当前用户的全局目录。Windows PowerShell./scripts/install-skills.ps1macOS/Linuxchmod x scripts/install-skills.sh ./scripts/install-skills.sh安装完成之后就可以和 Agent 对话并按顺序使用这些 skills需求拆解调用cleanddd-requirements-analysis生成结构化需求与事件流领域建模调用cleanddd-modeling基于上一步输出生成聚合、命令、查询、事件、Endpoint 设计项目初始化调用cleanddd-dotnet-init用模板创建项目骨架代码实现调用cleanddd-dotnet-coding基于模型生成代码骨架或具体实现README 里还给了几句可以直接发给 Agent 的示例提示词“请先用 cleanddd-requirements-analysis 拆解 XXX 需求给出表格化输出然后用 cleanddd-modeling 生成模型设计。”“使用 cleanddd-dotnet-init 创建一个包含 RabbitMQ 和 MySql 的 CleanDDD 项目。”“基于上述模型实现代码骨架。”脚本会将仓库内skills/目录下的技能逐个同步到目标目录如果已有同名技能会先删除后再复制以保证版本一致。cleanddd-skills 和 NetCorePal 的关系两者分工很清楚。cleanddd-skills负责把实践过程整理成一条工作链路。NetCorePal 负责把这条工作链路承载到 .NET 工程里。可以简单理解成requirements-analysis 和 modeling 负责把业务和模型先整理出来dotnet-init 和 dotnet-coding 负责把这些结果继续带进工程NetCorePal 提供工程承载所需要的框架基础如果只有框架没有前面的实践链路很容易变成“会用框架但不会按 CleanDDD 组织工作”。如果只有前面的分析和建模没有 NetCorePal 这样的承载结果又容易停在文档和讨论层面。这两部分结合起来以后需求、模型、工程骨架和实现之间就形成了清楚的衔接关系。文章转载自老肖想当外语大佬原文链接https://www.cnblogs.com/xiaoweiyu/p/19795560体验地址http://www.jnpfsoft.com/?from57

相关文章:

DDD难落地?就让AI干吧!

DDD 这些年一直有点尴尬。 知道它有价值的人不少,真正愿意照着它的方式把需求、模型、结构和代码一步一步做下来的人并不多。最常见的印象也差不多:概念多、步骤多、层次多,看起来像是把原本能直接写出来的业务系统,又绕了一圈。…...

人工智能、机器学习、深度学习及神经网络基础

第一部分:课程导入(2分钟)我们用45分钟从零入门,彻底搞懂人工智能、机器学习、深度学习到底是什么、有什么区别,同时了解现在AI都用在哪些地方、开发AI常用什么工具,最后弄懂所有AI技术最底层的核心原理——…...

28V直流电源直线通电飞机起动概述

一、工作原理概述该电源采用“‌三相AC-DC-DC‌”三级变换架构,实现高效率、高稳定性的电能转换:‌输入整流与PFC校正‌ 输入‌三相AC380V10%‌ 交流电经EMI滤波后,进入‌PFC(功率因数校正)整流模块‌,转换…...

香港品牌研究院发布:2026年GEO行业发展白皮书

2026年GEO行业发展白皮书 ——从粗放运营到AI品牌基建高质量发展 **文件编号:**HKIBR-2026-GEO-001 **版本编号:**V1.0 **发布时间:**2026年4月 **研究发布|学术监制:**香港品牌研究院HongKongBrandInstitute **…...

AI生成的前端界面,为什么总是不够好看?

为什么 AI 生成的界面总是"差那么一口气"?用 AI 写前端,你有没有遇到过这种情况——代码跑起来没问题,功能都有,但打开一看,总感觉哪里不对劲。间距挤、排版乱、视觉层次平、配色说不上哪里丑但就是丑……和…...

免费去图片水印App排行榜:2026实测推荐,一键去除水印哪款好用?

图片被水印挡住,想用却下不了手——这个问题相信不少人都遇到过。不管是从小红书、抖音保存下来的素材图,还是电商产品图、自媒体封面,只要带了平台水印或版权标识,用起来就很别扭。 市面上声称免费的去水印工具多如牛毛&#xff…...

成功实现首个pytorch编写的softmax模型并调优的记录

第一次编写softmax模型,测试通过跟随经典的深度学习“Dive-into-DL-Pytorch”,编写softmax模型,使用FashionMNIST数据集(6万张训练数据集1万张测试数据集,含10个类别的预测),普通办公电脑cpu&am…...

安达发|食品业数字化转型:APS计划排产排程排单软件破解生产难题

安达发APS高级生产计划智能排产排程自动排单软件系统推荐_MES 在当今快消品市场竞争日益激烈的背景下,食品行业正面临着前所未有的挑战——原材料保质期短、订单波动频繁、生产工艺复杂、多品种小批量生产常态化。传统的手工排产或Excel表格管理早已难以应对这些复…...

我想拍桌子,作为 Java 后端程序员,老板限我一天把 RAG 升级成 Agent

大家好,我是秃头哥,一名 Java 后端程序员,每天开心撸 CRUD、调 RAG 问答、搭 Spring BootElasticsearch 知识库,本来安安稳稳过日子。 然后,今天突变… 老板直接把我叫到工位,甩下死命令: “咱…...

STM32看门狗实战:用CubeMX和HAL库快速配置独立看门狗IWDG(附防误触发技巧)

STM32看门狗实战:用CubeMX和HAL库快速配置独立看门狗IWDG(附防误触发技巧) 在嵌入式系统开发中,系统稳定性是至关重要的考量因素。想象一下,你精心设计的智能家居控制器在用户家中运行数月后突然"卡死"&…...

ARM开发板触摸屏移植全记录:Qt应用依赖的tslib-1.4交叉编译与配置详解

ARM开发板触摸屏移植实战:从tslib交叉编译到Qt应用集成 触摸屏作为嵌入式设备最自然的人机交互方式,其性能直接影响用户体验。但在实际项目中,工程师常会遇到触摸坐标漂移、点击抖动、响应延迟等问题。本文将深入探讨如何通过tslib-1.4的定制…...

从“PPT小白”到“大神”,这些网站你必须知道!

一、引言在当今数字化信息飞速传播的时代,PPT 作为一种重要的演示工具,广泛应用于工作汇报、学术演讲、教学授课、项目展示等诸多场景 。无论是职场精英展示工作成果,还是学生群体进行课堂汇报,一份优秀的 PPT 都能成为成功的关键…...

突破游戏帧率限制:5种高级解锁方案的完整技术解析

突破游戏帧率限制:5种高级解锁方案的完整技术解析 【免费下载链接】genshin-fps-unlock unlocks the 60 fps cap 项目地址: https://gitcode.com/gh_mirrors/ge/genshin-fps-unlock 引言:重新定义游戏性能优化的技术边界 在当今游戏体验追求极致…...

SI5351高频PCB布局避坑指南:从200MHz信号完整性问题到实测波形分析

SI5351高频PCB布局避坑指南:从200MHz信号完整性问题到实测波形分析 在射频电路设计中,时钟信号的纯净度往往决定着整个系统的性能上限。SI5351作为一款支持8通道输出的可编程时钟发生器,其200MHz的输出能力既带来了设计灵活性,也带…...

DevSpace:云原生开发效率革命,实时同步与热重载实战

1. 项目概述:云原生时代的开发效率革命如果你和我一样,常年泡在Kubernetes和容器化应用开发里,那你一定对“本地编码-构建镜像-推送仓库-更新部署-等待Pod重启”这套繁琐的流程深恶痛绝。每次改几行代码,都要经历一次完整的CI/CD管…...

认知神经科学研究报告【20260035】

ForeSight 5.87.2 离散与连续极限测试报告 测试5:200变量离散极限 问题:200变量300子句3-SAT,子句/变量1.5(相变区域,约50%可满足) 方法:推理器子句约束→相位传导→涌现检测自动发现冲突模式→…...

Windows生产力终极指南:为什么每个用户都需要PowerToys系统增强工具

Windows生产力终极指南:为什么每个用户都需要PowerToys系统增强工具 【免费下载链接】PowerToys Microsoft PowerToys is a collection of utilities that supercharge productivity and customization on Windows 项目地址: https://gitcode.com/GitHub_Trending…...

如何彻底修复机械键盘连击问题:Keyboard Chatter Blocker实用指南

如何彻底修复机械键盘连击问题:Keyboard Chatter Blocker实用指南 【免费下载链接】KeyboardChatterBlocker A handy quick tool for blocking mechanical keyboard chatter. 项目地址: https://gitcode.com/gh_mirrors/ke/KeyboardChatterBlocker 机械键盘连…...

周红伟SEO能力加强和客户转化的能力点

🧬 周红伟老师背景速览维度内容身份定位大数据与人工智能实战专家 / 企业培训讲师核心背书法国科学院数据算法博士、前阿里AI专家、前马上消费风控负责人、前猪八戒大数据科学家主要平台CSDN博客(AI周红伟)、讲师宝、企业管理咨询网、京城名师…...

You and Your Research

一句话总结 伟大成果不是单靠天才、运气或环境,而是长期把自己放在重要问题附近,用足够的勇气、投入、判断力、表达能力和自我管理,把“可能发生的大事”变成“由你完成的事”。 核心观点 1. 不要把伟大归因于运气 Hamming 不否认运气&…...

模板失效预警,AISMM高管汇报常见8类致命偏差及监管现场否决实录

更多请点击: https://intelliparadigm.com 第一章:模板失效预警:AISMM高管汇报的系统性风险图谱 当AISMM(AI-Supported Management Matrix)平台中预置的高管汇报模板在季度审计前72小时内批量返回空渲染结果&#xff…...

毕业设计 深度学习口罩佩戴检测系统

简介 2020新冠爆发以来,疫情牵动着全国人民的心,一线医护工作者在最前线抗击疫情的同时,我们也可以看到很多科技行业和人工智能领域的从业者,也在贡献着他们的力量。近些天来,旷视、商汤、海康、百度都多家科技公司研…...

相机标定入门:别再混淆DLT、对极几何和PNP了,一文讲清区别与联系

相机标定入门:别再混淆DLT、对极几何和PNP了,一文讲清区别与联系 刚接触计算机视觉时,面对DLT、对极几何、PNP这些术语,就像走进了一个满是镜子的迷宫——每个概念都在反射其他概念的光芒,却让人看不清它们之间的真实关…...

又给老板省钱了[特殊字符]~

说实话,以前企业IT运维真的太折腾了!🥱海外设备一出故障,工程师就得立马打飞的跨国抢修,一趟差旅几万块花出去,还得耗上两三天,既费钱又耽误产能。✅自从用上Splashtop,直接开启办公…...

平台费用继续抬升之后跨境卖家如何判断哪些订单值得接

成本挤压下的订单抉择:跨境卖家的利润保卫战平台费用、物流成本、汇率波动……当一道道无形的“闸门”被抬高,原本宽阔的利润河道正逐渐变得狭窄。对于跨境卖家而言,每一个新订单的提示音,不再仅仅是收入的象征,更可能…...

别再复制粘贴了!手把手教你用C语言实现一个支持任意长度的CRC-8校验函数

从零构建通用CRC-8校验器:C语言实战指南 在嵌入式系统与通信协议开发中,数据完整性校验如同数字世界的"指纹识别"。当我们面对串口传输、文件校验或网络数据包处理时,CRC校验算法以其高效可靠的特性成为工程师的首选武器。本文将带…...

Highcharts 曲线图:深度解析与实战应用

Highcharts 曲线图:深度解析与实战应用 引言 Highcharts 是一个功能强大的图表库,允许用户轻松地在网页上创建交互式图表。其中,曲线图是一种非常受欢迎的图表类型,能够有效地展示数据随时间或其他连续变量的变化趋势。本文将深入解析 Highcharts 曲线图的特点、应用场景…...

别只盯着YOLO!用百元级OpenMV+STM32,5分钟搭建一个低成本运动追踪原型系统

百元级视觉方案实战:OpenMVSTM32运动追踪系统开发指南 当计算机视觉成为热门技术,许多初学者却被动辄数千元的GPU设备和复杂的深度学习框架劝退。其实,在嵌入式视觉领域,有一款仅需百元级的硬件——OpenMV,配合常见的S…...

Nacos客户端日志太吵?Spring Boot/Cloud项目里这样配置,瞬间清净

Nacos客户端日志优化实战:Spring Boot/Cloud项目静音指南 微服务架构下,Nacos作为配置中心和注册中心的核心组件,其客户端日志输出常常成为开发者调试时的"甜蜜负担"。想象一下这样的场景:你在IDEA中启动Spring Cloud服…...

工业物联通信升级方案:蓝牙对讲机如何打通“人、机、场”实时协同

在工业物联场景里,通信从来不是“可有可无”的配套能力,而是保障生产节奏、安全响应和协同效率的关键基础设施。过去很多企业依赖传统对讲系统,虽然满足了基本通话,但在复杂现场中仍面临明显短板:有线耳机束缚作业动作…...