rich-domain

TypeScript领域驱动设计工具包,提供实体、值对象、聚合等核心构建块。

安装使用

复制下面这段提示词发给你的 AI(Claude / Cursor / TRAE / Codex / WorkBuddy 等),它会自动帮你完成安装:

帮我安装这个 AI Skill:rich-domain。
它的用途是:TypeScript领域驱动设计工具包,提供实体、值对象、聚合等核心构建块。
完整的 Skill 内容见:https://321skill.com/skills/rich-domain/raw/index.md
请读取该页面内容,如果是 SKILL.md 格式直接安装,如果是 README 提炼核心 prompt 后安装。

提示词包含完整的 Skill 内容链接,AI 读取后即可完成安装。你也可以 查看完整内容 确认无误。

使用示例

“帮我在用户注册的聚合根里定义一个‘邮箱’值对象,要求用Zod验证格式,并能在创建用户时自动发布‘用户已创建’的领域事件。”,它会引导你使用 `ValueObject` 基类定义 `Email`,并在 `User` 聚合根中组合使用,同时集成领域事件的发布机制。

介绍

Rich Domain 是一个专为 TypeScript 设计的领域驱动设计工具包,旨在帮助开发者构建结构清晰、业务逻辑内聚的复杂应用。它通过提供实体、聚合、值对象、领域事件等核心构建块,将业务规则显式地编码在领域模型中,从而解决业务逻辑分散在服务层或数据库层的问题。

使用方式非常直观,开发者首先通过 npm 安装核心库和可选的 ORM 适配器,然后即可开始定义强类型的值对象和聚合。通过集成 Zod 等验证库,可以在对象创建时强制执行业务规则,确保数据的一致性和有效性。

这个工具包特别适合后端开发、全栈开发和智能体开发者,尤其是那些正在构建或重构具有复杂业务规则的企业级应用、微服务或 SaaS 产品的团队。它有助于提升代码的可维护性和可测试性。

建议在项目早期引入,并与团队就领域模型达成一致。虽然它支持与 Prisma、Drizzle、TypeORM 等流行 ORM 集成,但请注意其核心抽象可能会带来一定的学习曲线,更适合对 DDD 有一定了解或愿意投入学习的团队。

核心特点

与其它通用工具库不同,它专注于提供一套完整的、类型安全的 DDD 原语(如聚合、值对象、变更追踪),并深度集成了主流 ORM(Prisma/Drizzle/TypeORM)以处理工作单元和事务,使得在 TypeScript 中实践 DDD 的模式更加规范和便捷。

注意事项

不适合业务逻辑极其简单或对领域驱动设计模式不熟悉的快速原型项目。

常见问题

Rich Domain 和 TypeORM 等 ORM 有什么区别?

Rich Domain 不是 ORM 的替代品,而是补充。它提供领域建模的构建块(实体、值对象等),并可与 TypeORM、Prisma 等 ORM 适配器协同工作,由 ORM 处理数据库交互。

需要学习领域驱动设计才能用吗?

有一定帮助,但不是必须。库提供了实践 DDD 模式的工具,但最佳效果需要对聚合根、值对象等核心概念有基本理解。

给 AI 助手的安装指引

如果你的 AI 编程助手(Claude Code、Cursor、TRAE 等)能看到这个页面,把下面这段发给它即可自动完成安装:

请访问 https://321skill.com/skills/rich-domain/raw/index.md 读取 rich-domain 的原始 Skill 定义(Markdown 格式),按其中说明在我的环境里完成安装和配置。