MiCake 是一个基于 .NET 开发的轻量级领域驱动设计(DDD)工具包。它旨在帮助开发者快速将现有项目转换为 DDD 风格,同时保持代码的简洁性和灵活性。
MiCake 不是一个传统意义上的"框架",而是一套便利的"工具集"。它提供了实践 DDD 所需的各种组件和工具,但不会强制改变你的开发习惯。
迫不及待想要使用 MiCake?我们提供了成熟的模板和示例项目,你只需要使用dotnet new命令就能创建一个开箱即用,由 MiCake 驱动的ASP.NET Core项目。
详细的入门指南和使用文档,请访问: 📚 在线完整文档 - 快速开始
快速将项目转换为 DDD 风格,专注于领域代码的编写而非框架配置。通过简单的配置和少量代码,即可将现有项目升级为 DDD 架构。
实现了 DDD 战术模式的核心部件:
- 实体(Entity) - 具有唯一标识的领域对象
- 值对象(Value Object) - 通过属性值比较的不可变对象
- 聚合根(Aggregate Root) - 聚合的根实体,作为外部访问的入口
- 仓储(Repository) - 提供聚合根的持久化操作
- 领域事件(Domain Event) - 捕获领域中发生的重要事件
- 领域服务(Domain Service) - 封装不属于实体或值对象的领域逻辑
- 工作单元(Unit of Work) - 管理业务事务和数据一致性
提供项目开发常用的基础功能:
- 全局异常处理
- 统一数据返回格式
- 自动审计功能
- 软删除支持
- 依赖注入增强
- API 请求日志记录
- 丰富的工具集(缓存、转换器、查询、熔断器等)
"轻柔"是 MiCake 的核心设计理念:
- 非侵入式 - 无感融入现有项目,不改变编程习惯
- 低耦合 - 框架代码与业务代码清晰分离
- 可选使用 - 不强制使用 DDD,可逐步引入
- 几乎无感 - 不使用 DDD 特性时,甚至感觉不到它的存在
- ✅ 新项目开发,希望使用 DDD 方法构建清晰架构
- ✅ 现有项目重构,逐步引入 DDD 改善可维护性
- ✅ 中小型企业应用,需要良好架构但不想引入重量级框架
- ✅ 学习和实践 DDD,需要轻量级的参考实现
- .NET 10.0 及以上版本
- Visual Studio 2022+ / Visual Studio Code / Rider
| 包名 | 版本 | 说明 |
|---|---|---|
| MiCake | DDD 核心组件 | |
| MiCake.EntityFrameworkCore | EF Core 集成支持 | |
| MiCake.AspNetCore | ASP.NET Core 集成支持 |
更多包信息请访问 NuGet.org
我们欢迎社区贡献!
MiCake - 让 DDD 更简单