📚 后端开发 全难度 📦 community

backend-patterns

后端架构模式、API 设计、数据库优化、服务端最佳实践。

📄 相关文章

📊 评分明细

📦 打包完整度
2.2 2.2 / 2.5
🎯 实用性
2.2 2.2 / 2.5
📖 文档清晰度
1.8 1.8 / 2
👥 社区影响力
1.3 1.3 / 1.5
🔗 集成度
1.3 1.3 / 1.5

🎯 适用场景

免费编程设计模式

backend-patterns 快速入门

来自 Anthropic 黑客马拉松获奖项目的后端模式合集,让 AI 写后端时直接套用生产级套路。

这是什么?解决什么问题?

backend-patternsaffaan-m/everything-claude-code 仓库下的一个 Skill,和 affaanm-backend-patterns 是”同名不同 slug”的关系——两者本质上是同一类能力的不同入口。

backend-patterns 这个 slug 是社区的”通用版”,被收录在 affaan-m/everything-claude-code 主仓,侧重”可直接复用的生产级后端模式”;而 affaanm-backend-patterns 是”Anthropic 黑客马拉松获奖作品”那个独立宣传页面 slug。两者都指向 affaan-m/everything-claude-code 仓库。

这个 Skill 解决的问题,和 affaanm-backend-patterns 完全一致:让 AI 写后端时不再写”教科书式”的简单实现,默认按 10+ 真实生产配置里沉淀的架构模式产出代码,包括:

  • API 设计:REST 命名规范、统一错误响应、版本号策略、限流。
  • 数据库优化:索引选择、N+1 查询规避、事务边界、迁移策略。
  • 服务架构:分层(controller / service / repository)、依赖注入、配置中心。
  • 可观测性:结构化日志、trace_id、metrics 埋点、健康检查端点。
  • 韧性设计:超时、重试、熔断、降级、限流、幂等。

它适合的场景:中大型后端项目的架构定型、AI 写新需求时希望遵循团队已有规范、Code Review 时希望 AI 主动指出”教科书式实现”的风险。

准备工作

  1. 一个支持 Skill 加载的 AI 编程助手(Claude Code / Cursor / Cline 等)。
  2. 项目里已经有清晰的分层结构,或者愿意按 Skill 的建议从零开始组织。
  3. Clone 仓库:
git clone https://github.com/affaan-m/everything-claude-code.git
  1. 软链 Skill:
ln -s everything-claude-code/skills/backend-patterns ~/.claude/skills/backend-patterns

3 步快速上手

第 1 步:安装 Skill

按上面的命令软链完成后,重启 AI 助手,Skill 自动生效。

第 2 步:验证安装

向 AI 发送请求:

“请用 backend-patterns 给我一段 FastAPI 用户登录接口代码,要求分层清晰、带 trace_id 日志、超时与重试。”

如果 AI 输出包含 controller / service / repository 三层,日志里嵌入 X-Request-ID,外部 HTTP 调用带 tenacity 重试装饰器,说明 Skill 加载成功。

第 3 步:用 Skill 跑第一个任务

让 AI 按 Skill 模式生成一个 Node.js + Express 的健康检查端点 + 用户列表接口:

// controllers/userController.js
import { userService } from '../services/userService.js';

export const userController = {
  async list(req, res) {
    const { page = 1, pageSize = 20 } = req.query;
    const result = await userService.list({
      page: Number(page),
      pageSize: Number(pageSize),
    });
    res.json({ code: 0, data: result });
  },
};
// services/userService.js
import { userRepository } from '../repositories/userRepository.js';
import { logger } from '../lib/logger.js';

export const userService = {
  async list({ page, pageSize }) {
    const traceId = logger.getTraceId();
    logger.info('user.list.start', { page, pageSize, traceId });
    const [items, total] = await userRepository.paginate({ page, pageSize });
    logger.info('user.list.end', { count: items.length, traceId });
    return { items, total, page, pageSize };
  },
};
// repositories/userRepository.js
import { db } from '../lib/db.js';

export const userRepository = {
  async paginate({ page, pageSize }) {
    const offset = (page - 1) * pageSize;
    return await db.transaction(async (trx) => {
      const items = await trx('users')
        .select('id', 'email', 'created_at')
        .orderBy('id', 'desc')
        .limit(pageSize)
        .offset(offset);
      const [{ count }] = await trx('users').count('id as count');
      return [items, Number(count)];
    });
  },
};

Skill 会主动提醒 AI:

  • controller 不直接操作数据库。
  • service 注入 trace_id,日志可串联。
  • repository 用事务 + 索引,避免 N+1。
  • 统一响应结构 {code, data, message}

常见踩坑

  1. 业务逻辑散落在 controller。一个 endpoint 写 100 行业务代码,后续改起来牵一发动全身,Skill 明确反对。
  2. 数据库查询没 LIMIT。分页接口忘了 LIMIT 20,生产环境单次返回 100 万行,直接 OOM。
  3. 日志格式不统一console.log 混杂 logger.info,grep 不到关键事件,Skill 建议统一结构化日志。
  4. 缺 trace_id。排障时无法串联一个请求经过的所有服务,这是 SRE 必抓的硬性要求。
  5. 数据库连接未复用。每个请求里 new Pool(),浪费连接资源,Skill 建议单例 + 依赖注入。
  6. 错误处理用字符串 returnreturn { error: "..." } 无法被全局错误处理拦截,Skill 推荐用异常类 + 中间件统一处理。

初级用法

用法 1:搭新项目的目录骨架。让 AI 按 backend-patterns 的分层模板,生成一个新项目的完整目录结构 + 基础中间件。

用法 2:重构老的”大泥球”controller。把一个 300 行的 controller 贴给 AI,让它按 Skill 拆成 controller + service + repository 三层。

用法 3:统一错误响应格式。让 AI 帮你设计全局 ErrorResponse 和异常处理中间件,前端就能用统一的格式解析错误。

高级玩法

玩法 1:CQRS 模式。对读多写少的场景,把 query 和 command 拆到不同 service,query 可以走读副本、cache,command 走主库。

玩法 2:Outbox 模式。解决”本地事务 + 消息发送”的数据一致性问题,先写 outbox 表,异步 worker 投递到 MQ。

玩法 3:多租户隔离。在 repository 层强制注入 tenant_id 过滤条件,避免越权访问。Skill 建议用 ORM event 或 framework middleware 实现。

小技巧

  1. 依赖注入用类型注解。TypeScript 严格模式下,AI 生成代码时类型提示能避免很多低级错误。
  2. Pydantic / Zod schema 双向分离。入参(UserCreate)和出参(UserOut)分开,避免内部字段泄露到 API。
  3. 日志用结构化格式logger.info("user_registered", { userId, email }),方便后续接 ELK / Loki。
  4. 慢查询埋点。在 ORM event 里监听 before_query_execute,记录 > 100ms 的查询,定期 review。
  5. 健康检查端点必须包含依赖项。不只是返回 200 OK,还要检查 DB / Redis / MQ 是否可达,这是 K8s liveness/readiness 的标配。

backend-patterns Skill 多维度简评

类别:后端开发 来源:affaan-m/everything-claude-code(ECC 框架) 定位:后端架构模式 Skill,覆盖六边形架构、CQRS、Event Sourcing、Repository 等模式。

说明:本文基于官方文档和公开资料整理,未经过 MagicNetWorld 实测。


一、核心定位与价值

backend-patterns 是 Everything Claude Code(ECC) 框架中的 Skill 之一。ECC 由 Affaan Mustafa(Anthropic Hackathon 获奖者)创建并维护,是一个面向 Claude Code 的综合配置框架,包含 28 个子 Agent、119+ 个 Skills、60 个斜杠命令和 AgentShield 安全扫描器。

截至 2026 年初,ECC 在 GitHub 上获得了超过 168,000 stars 和 26,000 forks,是 Claude Code 生态中最受欢迎的第三方配置框架之一。

backend-patterns Skill 专注于后端架构模式的 AI 辅助实现,涵盖六边形架构(Hexagonal Architecture)、CQRS(Command Query Responsibility Segregation)、Event Sourcing、Repository 模式、Domain Events 和 Outbox 模式等经典后端设计模式。

核心价值:让 AI Agent 在设计后端服务时自动应用成熟的架构模式,提升代码结构质量和可维护性。


二、核心能力

能力说明
六边形架构端口-适配器模式,将业务逻辑与外部依赖解耦
CQRS/Event Sourcing命令查询职责分离与事件溯源,适用于复杂业务场景
Repository 模式数据访问抽象,统一持久化接口
Domain Events领域事件驱动,实现松耦合的跨模块通信
Outbox 模式保证消息可靠投递,解决分布式事务一致性问题

三、ECC 框架概述

ECC(Everything Claude Code)不仅仅是一个 Skill 集合,而是一个完整的 AI 编码代理配置框架:

  • 28 个专业子 Agent:包括规划 Agent、TDD Agent、安全检查 Agent、编译错误修复 Agent,以及针对 TypeScript、Python、Go、Rust、Java、Kotlin、C++ 等语言的代码审查 Agent
  • 119+ 个 Skills:覆盖编码规范、数据库交互、后端模式、云安全、TDD 工作流等
  • 60 个斜杠命令:快速执行常见工作流
  • AgentShield 安全扫描器:1,282 项测试和 102 条静态分析规则

四、安装与使用

# 基础安装
npx skills add affaanm/everything-claude-code --skill backend-patterns

# 或手动克隆
git clone https://github.com/affaan-m/everything-claude-code

ECC 支持 Claude Code、Cursor、Codex、OpenCode 等多个平台,安装后可将对应配置复制到客户端目录。


五、使用场景

  • 新项目架构设计:启动新后端服务时,让 Agent 按六边形架构或分层架构组织代码
  • 代码审查:检查现有代码是否遵循声明的架构模式
  • 架构演进:从单体分层架构迁移到 CQRS/Event Sourcing 时提供指导
  • 团队标准化:在团队中统一后端架构实践

六、注意事项

  • ECC 仓库曾被恶意 impersonation,安装时务必确认来源为官方仓库 affaan-m/everything-claude-code
  • 不要同时启用所有 MCP 和 Skill——Affaan Mustafa 建议上下文窗口可能从 200K 缩减至 70K
  • backend-patterns 为通用架构指导,具体项目实现需结合技术栈调整

参考资料

📊 评分与标签

评分说明

总分 8.9/10 · P_优选

📊 可观测社区指标(数据核验日期:2026-07-06)

  • GitHub: affaan-m/ECC ★226k, 🔱34.6k
  • 收录模式数量: 10+ 真实生产配置 — 来源:backend-patterns SKILL.md
  • 许可证: MIT — 来源:LICENSE
  • 荣誉: Anthropic 黑客马拉松获奖作品 — 来源:LinkedIn
  • Claude 插件: ecc@ecc — Claude Code 官方 marketplace 可一键安装
  • npm 包: ecc-universal — 支持编程式安装和跨 Agent 管理

📦 可安装性 2.2/2.5

  • 安装方式:git clone 仓库后软链 Skill 目录到 AI 助手配置目录即可,纯 Markdown 格式无需运行时依赖
  • Claude Code 用户可直接通过 plugin install ecc@ecc 一键安装,无需手动 git clone
  • 非 Claude Code Agent 需手动软链,安装体验不如官方 marketplace 一键安装
  • 对比 frontend-patterns(同仓库):安装流程完全相同,均通过 git clone + 软链或 Claude plugin 安装
  • 对比 anthropic-skills:需 Claude Code 订阅 + 官方渠道,本 Skill 完全开源且支持多 Agent,安装自由度更高

🎯 实用性 2.3/2.5

  • 核心价值:覆盖 10+ 生产级后端架构模式——API 设计(REST 规范、错误响应、限流)、数据库优化(索引、N+1 规避、事务边界)、服务分层(controller/service/repository)、可观测性(trace_id、结构化日志、metrics)、韧性设计(超时、重试、熔断、降级、幂等)
  • 解决痛点:AI 写后端时默认产出”教科书式”简单实现,本 Skill 强制注入生产级模式,让 AI 输出的代码自带 trace_id、熔断、幂等、分层架构
  • 对比 Node.js Best Practices(goldbergyoni/nodebestpractices ★105.3k):覆盖场景更广(160+ 条最佳实践),文档更系统,但面向人类阅读而非 AI Agent 自动注入
  • 对比 system-design-primer(donnemartin/system-design-primer ★280k+):侧重系统架构设计(负载均衡、缓存策略),本 Skill 聚焦代码实现层面模式,与 AI 编码助手深度集成

📖 文档质量 1.6/2.0

  • SKILL.md 文件含完整的模式定义、代码示例和触发关键词,controller/service/repository 三层均有示例代码
  • README 提供安装指南和验证方法:向 AI 发送特定请求,检查输出是否含分层结构和 trace_id
  • 无独立文档站点,所有模式说明嵌入在 SKILL.md 中,查阅时需浏览 Markdown 源码
  • 对比 frontend-patterns(同仓库):文档结构类似,前端模式有更详细的组件示例和 Tailwind 规范说明
  • 对比 Node.js Best Practices:文档更系统(分章节 + 中英双语 + 交互式示例),本 Skill 更偏简洁的 Agent 指令

👥 社区活跃 1.4/1.5

  • GitHub ★226k,🔱34.6k,2,254 次 commits,17 个 open issues,45 个 open PRs,开发活跃度极高
  • Anthropic 黑客马拉松获奖作品(solo dev 获奖 $15k),多个第三方 marketplace 收录(ClaudeMod、skills.sh、skillsmp.com)
  • 仓库包含 15+ 个 Agent 平台配置文件(Claude Code / Cursor / Codex / Gemini / Kimi / Qwen 等),生态覆盖极广
  • 对比 Node.js Best Practices(★105.3k):社区规模相近但面向不同群体,ECC 专注 AI Agent 生态
  • 对比 system-design-primer(★280k+):社区影响力更大,但领域不同(系统设计 vs 后端编码模式)

🔗 兼容性 1.4/1.5

  • 兼容 Claude Code、Cursor、OpenCode、Windsurf、Codex、Gemini、Kimi、Qwen、Trae、Zed、CodeBuddy、Hermes 等 15+ 个 AI 编程助手
  • 纯 Markdown 格式 + npm 包(ecc-universal),无运行时依赖,理论上兼容任何支持 Skill 机制的 Agent
  • 对比 anthropic-skills:仅限 Claude Code 生态且需官方订阅,本 Skill 跨平台兼容性和自由度大幅领先
  • 对比 custom MCP servers:MCP 提供工具调用能力(浏览器操作、文件系统),本 Skill 侧重编码规范指导,两者互补而非替代

评分依据可追溯至公开来源,每项分数均有明确理由和数据支撑。

🏷️ 标签说明

  • 免费: 开源项目(MIT 许可证),完全免费使用,无任何付费墙。来源:LICENSE
  • 编程: 以 AI 编程辅助为核心功能,覆盖后端 API 设计、数据库优化、服务架构、可观测性、韧性设计。来源:ECC README
  • 设计模式: 提供 10+ 生产级后端架构设计模式(分层、CQRS、Outbox、多租户、熔断、幂等)。来源:backend-patterns SKILL.md

📋 来源与核验记录

  • ✅ 已核验: affaan-m/ECC(页面可访问,★226k 🔱34.6k 2,254 commits)
  • ✅ 已核验: backend-patterns SKILL.md(页面可访问,Skill 文件存在)
  • ✅ 已核验: ECC LICENSE(MIT 许可证确认)
  • ⚠️ 未验证(Cloudflare 拦截): npm ecc-universal — npmjs.com 被 Cloudflare 安全验证拦截,无法自动化访问确认包详情
  • ⚠️ 间接来源(二手数据): Anthropic 黑客马拉松获奖信息来自 LinkedIn 第三方转发,未找到 Anthropic 官方获奖公告
  • ❌ 死链: 无