一个基于 .NET 9 的分步示例项目,演示健身房系统如何从单体逐步演进为模块化单体、微服务并应用战术 DDD。
abpframework/abp
基于 ASP.NET Core 的开源应用框架,提供领域驱动设计、模块化与多租户等企业级开发基础设施。
- Star
- 14,470
- Fork
- 3,709
- 未关闭 Issue
- 308
- 最近提交
- 昨天
这是什么?
ABP 是一个运行在 .NET 与 ASP.NET Core 之上的 Web 应用框架,为企业级软件提供固定的架构约定。它内置异常处理、校验、授权、本地化、缓存、依赖注入等横切关注点的实现,让开发者把精力放在业务代码上,而不是重复搭建基础设施。
框架以领域驱动设计、模块化、多租户和微服务作为核心架构方式。基础设施方面包括事件总线、后台作业、审计日志、BLOB 存储、数据种子和数据过滤等功能。官方还提供账户、身份认证(角色与权限)、OpenIddict 集成、CMS 内容管理以及 SaaS 租户与版本管理等可直接复用的应用模块。
项目同时提供启动模板、命令行工具 ABP CLI、用于生成 CRUD 页面的 ABP Suite,以及跨平台桌面应用 ABP Studio。UI 主题支持 Blazor 和 Angular,并附带从单体 Web 应用、模块化 CRM 到微服务方案的教程。
核心功能
- 01提供涵盖领域驱动设计、模块化、多租户和微服务的固定架构。
- 02内置授权、校验、本地化、缓存等横切关注点的实现。
- 03提供事件总线、后台作业、审计日志、BLOB 存储等基础设施。
- 04附带身份、账户、SaaS 租户、OpenIddict 和 CMS 等可复用模块。
- 05提供启动模板、ABP CLI、ABP Suite 代码生成和 ABP Studio 桌面工具。
- 06提供 Blazor 与 Angular 的 UI 主题。
适用场景
- 在 ASP.NET Core 上构建结构统一的企业业务系统。
- 开发需要租户与版本管理的多租户 SaaS 产品。
- 搭建具备共享基础设施的模块化单体或微服务系统。
- 借助代码生成和现成的身份模块,加快管理后台等 CRUD 密集型应用的开发。
快速上手
- 1
阅读入门指南,创建并运行 ABP 解决方案
使用前须知
- 该框架基于 .NET 和 ASP.NET Core,只适合 C# 开发团队。
- 它采用 LGPL-3.0 许可证,这是一种 Copyleft 许可证,对库的修改有相应的约束条款。
- 多个推荐模块带有 Pro 后缀,这暗示它们可能是商业模块而非开源模块。
收录于专题
标签
常见问题
- abp 是什么?
- 基于 ASP.NET Core 的开源应用框架,提供领域驱动设计、模块化与多租户等企业级开发基础设施。 ABP 是一个运行在 .NET 与 ASP.NET Core 之上的 Web 应用框架,为企业级软件提供固定的架构约定。它内置异常处理、校验、授权、本地化、缓存、依赖注入等横切关注点的实现,让开发者把精力放在业务代码上,而不是重复搭建基础设施。
- abp 可以免费使用吗?用的什么许可证?
- abp 以 LGPL-3.0 许可证开源。用于商业产品前,请先确认许可证条款。
- abp 还在维护吗?
- 活跃维护中。abp 最近一次提交是在 2026年11月6日。
- abp 适合用来做什么?
- 在 ASP.NET Core 上构建结构统一的企业业务系统。 开发需要租户与版本管理的多租户 SaaS 产品。 搭建具备共享基础设施的模块化单体或微服务系统。 借助代码生成和现成的身份模块,加快管理后台等 CRUD 密集型应用的开发。
- abp 怎么安装和运行?
- 阅读入门指南,创建并运行 ABP 解决方案
- 在哪里获取 abp?
- 源代码和安装说明在 GitHub 上:https://github.com/abpframework/abp
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
3577+3 本周550C#MIT更新于 12天前
面向 ASP.NET Core 的 Clean Architecture 解决方案模板,划分 Core、用例、基础设施和 Web 等项目。
1.9万+8 本周3145C#MIT维护活跃更新于 昨天
一个用于构建高性能 HTTP 反向代理服务器的 .NET 工具包,可按需定制。
9648+2 本周934C#MIT更新于 4天前
一款将 Immich 服务器中的照片以幻灯片形式展示的数码相框应用。
2419+10 本周127C#GPL-3.0维护活跃更新于 4天前
面向家人朋友小圈子的自托管影音服务器,管理本地电影、剧集和音乐。
34422C#AGPL-3.0维护活跃更新于 24小时前
面向软件架构的文档工具,用于整理领域、服务、事件、消息和Schema,供团队与AI代理查阅。
2959+5 本周281TypeScriptOther更新于 前天