简介
ABP是「ASP.NET Boilerplate Project (ASP.NET样板项目)」的简称。
ABP是一个开源的且文档友好的应用框架,起始的想法是,“开发一款为所有公司和开发者通用的框架!”。
它不仅仅是一个框架,更提供了一个基于DDD和最佳实践的健壮的体系模型。
ABP的官方网站:https://aspnetboilerplate.com/
应用程式常有许多重複性的功能例如:授权,验证,异常处理,日誌,本地化,数据库连接管理,设置管理,审计日誌等。
应用程式也需要规划分层和模块化架构,领域驱动设计(DDD),依赖注入等等。
因为开发这些都是非常耗时的,并且对于每个项目单独创建是很困难的,所以很多公司都会创建自己私有的框架。通过使用私有的框架,他们总是可以快速地开发新的应用,同时应用的Bug又会更少。当然了,不是所有的公司都是那么幸运了,大多数公司还是没有时间,预算和团队来开发他们自己的私人框架。即使他们有可能构建这么一个框架,写文档,培训开发者以及维护也是很难的。
ABP框架已实现了以下特性:
多语言/本地化支持多租户支持(每个租户的数据自动隔离,业务模块开发者不需要在保存和查询数据时写相应代码)软删除支持(继承相应的基类或实现相应接口,会自动实现软删除)统一的异常处理(应用层几乎不需要处理自己写异常处理代码)数据有效性验证(Asp.NET MVC只能做到Action方法的参数验证,ABP实现了Application层方法的参数有效性验证)日誌记录(自动记录程序异常)模块化开发(每个模块有独立的EF DbContext,可单独指定数据库)Repository仓储模式(已实现了Entity Framework、NHibernate、MangoDB、内存数据库)Unit Of Work工作单元模式(为应用层和仓储层的方法自动实现数据库事务)EventBus实现领域事件(Domain Events)DLL嵌入资源管理通过Application Services自动创建Web Api层(不需要写ApiController层了)自动创建Javascript 的代理层来更方便使用Web Api封装一些Javascript 函数,更方便地使用ajax、消息框、通知组件、忙状态的遮罩层等等初期使用笔记:
建立专案建立实体 Entity建立资料库上下文 DbContext资料库迁移 Migration建立仓储 Repository建立应用服务建立WebApi单元测试全篇后记参照
官方英文说明文件
一步一步使用ABP框架搭建正式项目系列教程
基于DDD的现代ASP.NET开发框架
GitHub文件翻译
By 御