如何选择.NET架构?dotnet-claude-kit四架构顾问实战指南

发布时间:2026/10/27 18:20:06
如何选择.NET架构?dotnet-claude-kit四架构顾问实战指南

【免费下载链接】dotnet-claude-kit

Make Claude Code a .NET 10 Expert

项目地址:https://gitcode.com/gh_mirrors/do/dotnet-claude-kit
点击查看免费下载

刚开始一个 .NET 项目时,最让人纠结的问题往往不是"用什么框架",而是"用什么架构"——用 Vertical Slice(垂直切片)?Clean Architecture(整洁架构)?DDD?还是 Modular Monolith(模块化单体)?dotnet-claude-kit是一个让 Claude Code 成为 .NET 10 专家的开源工具集,它的核心能力之一就是内置的architecture-advisor(架构顾问):它会先通过一套结构化问卷了解你的业务、团队和规模,再推荐最合适的架构,避免"架构过度设计"或"架构撑不住"。

本文将带你走完整个决策流程:顾问问什么、四种架构各适合谁、信号冲突怎么办、以后如何演进。

第一步:让架构顾问先提问,而不是直接写代码

dotnet-claude-kit 的核心原则是Ask before recommending(先问再荐)——没有了解项目之前,绝不预设架构。当你对 AI 说"帮我初始化一个新项目"时,内置的 dotnet-architect 智能体 会先加载 architecture-advisor 技能,跑完问卷再动手。

问卷覆盖6 大类、16 个问题,每类问题都有明确的"低复杂度信号"和"高复杂度信号":

类别典型问题
🧩 领域复杂度有多少业务实体?是否存在跨实体的复杂业务规则?
👥 团队规模几名开发者?是否多团队分别负责不同模块?
⏳ 系统寿命是 2 年内的 MVP,还是 5 年以上的长期产品?
📋 合规要求是否需要完整审计追踪?是否多租户数据隔离?
🗂 现有代码全新项目还是遗留系统改造?
🔌 集成复杂度对接几个外部系统?是否需要事件驱动?

💡 小技巧:你不需要逐题回答,把项目背景讲清楚,顾问会自动跳过不相关的问题。

决策矩阵:你的场景对应哪种架构

问卷结束后,advisor 会把你的答案映射到一张决策矩阵上,直接给出推荐:

项目画像推荐架构理由
低复杂度、小团队、短周期Vertical Slice仪式感最少,交付最快
中低复杂度、API 为主Vertical Slice一个操作一个文件,天然契合 minimal API
中等复杂度、长期维护Clean Architecture项目引用强制边界,依赖方向清晰
高复杂度、专业术语多DDD + Clean Architecture聚合保护不变量,值对象建模领域概念
多个限界上下文、多团队Modular Monolith模块隔离,保留演进到微服务的路径
遗留 N 层架构现代化Clean Architecture团队熟悉,迁移成本最低

完整矩阵见 skills/architecture-advisor/SKILL.md。

四大架构怎么选?逐个拆解

1️⃣ Vertical Slice Architecture(VSA):CRUD 和 MVP 的最优解

按功能而非分层组织代码,每个操作(下单、查询、取消)是一个自包含的"垂直切片",请求、处理、响应、端点可以全部放在一个文件里。适合 CRUD 密集型应用、MVP、中小团队。详细模式(含 Mediator 处理器写法)见 skills/vertical-slice/SKILL.md。

2️⃣ Clean Architecture(整洁架构):长期系统的稳健选择

经典四层:Domain(领域,零外部引用)→Application(用例)→Infrastructure(EF Core 等基础设施)→Api(薄端点层)。依赖方向由项目引用强制约束,编译器帮你守住边界。适合中等复杂度、需要长期演进的团队。四层布局与目录结构见 skills/clean-architecture/SKILL.md。

3️⃣ DDD + Clean Architecture:复杂领域的重型武器

在 Clean Architecture 之上叠加战术 DDD 模式:聚合根划定一致性边界、值对象消除原始类型滥用(Money不再是string)、领域事件解耦副作用。适合有专业业务词汇(如"核保""授信")、严格业务不变量的系统。战术模式详解见 skills/ddd/SKILL.md。

4️⃣ Modular Monolith(模块化单体):多团队、多上下文的平衡点

多个独立模块打包在一个可部署单元中,每个模块有自己的特性、自己的数据库上下文,内部甚至可以用不同的架构。它是通往微服务的演进路径,但不是微服务本身。配套模板见 templates/modular-monolith/。

信号冲突时怎么办?4 条裁决规则

现实中的项目信号往往互相矛盾(比如"领域很复杂但团队只有 2 个人")。advisor 内置了 4 条裁决规则:

  1. 默认选更简单的——拿不准就先 VSA,以后可以演进;
  2. 领域复杂度优先——高复杂度会压过团队规模和寿命信号;
  3. 团队熟悉度重要——熟悉 Clean Architecture 的团队用它比学 VSA 更高效;
  4. 合规驱动结构——监管要求通常会强制更严格的边界。

架构不是一锤子买卖:规划好演进路径

选错架构不用推倒重来。dotnet-claude-kit 在 ADR-005 多架构决策记录 中明确了四种架构的定位,并在 advisor 中内置了常见演进路径:

从到触发信号
VSAClean Architecture领域逻辑开始溢出处理器
VSAModular Monolith出现多个限界上下文
Clean ArchitectureDDD + Clean不变量变复杂、原始类型泛滥
普通单体Modular Monolith团队互相踩脚、共享库耦合
Modular Monolith微服务有独立扩缩容、独立部署的实证需求

⚠️ 两个经典反模式要避开:给简单的 CRUD 应用套 Clean Architecture(一个功能 6 个文件起步),以及"2 个开发者第 1 天就拆 5 个微服务"。

选完之后:用 /arch-check 验证架构不走样

架构选定只是开始。随着迭代推进,代码会慢慢"腐化"——Domain 项目悄悄引用了 EF Core、模块之间直接引用内部类型。dotnet-claude-kit 提供了 /arch-check 技能:基于 Roslyn 项目图分析,检查依赖方向、层违规、模块边界泄漏和循环依赖,输出带file:line证据和修复建议的违规报告,而且对上下文窗口非常友好(不用逐文件读源码)。

写在最后

选架构的本质不是选"最先进"的,而是选复杂度刚好匹配的。dotnet-claude-kit 的架构顾问把这套决策流程固化了下来:先问 6 大类问题 → 查决策矩阵 → 冲突时按规则裁决 → 预留演进路径 → 用 /arch-check 持续守护。下次开始 .NET 新项目时,把背景讲给 AI 听,让它带着你走完这份清单,比在论坛里问"我该用什么架构"高效得多。

【免费下载链接】dotnet-claude-kit

Make Claude Code a .NET 10 Expert

项目地址:https://gitcode.com/gh_mirrors/do/dotnet-claude-kit
点击查看免费下载

相关推荐

上一篇:【亲测免费】 推荐开源项目:Simple OpenGL Image Library (SOIL)
下一篇:Laravel Mail CSS Inliner 项目教程

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考