ABP 入门一 什么是ABP

ABP 入门一 什么是ABP

什么是ABP

ABP是“ASP.NET Boilerplate Project” 的简称。 ABP 是一个用最佳实践和流行技术开发现代WEB应用程序的新起点,它旨在成为一个通用的WEB应用程序基础框架和项目模板。 ABP是基于DDD的经典分层架构思想,实现了众多DDD的概念。

ABP的官方网站:http://www.aspnetboilerplate.comABP在Github上的开源项目:https://github.com/aspnetboilerplate

ABP 采用了以下技术

服务器端

ASP.NET MVC 5、Web API 2、C# 5.0DDD领域驱动设计(Entities、Repositories、Domain Services、Domain Events、Application Services、DTOs等)Castle windsor(依赖注入容器)Entity Framework 6 \ Entity Framework Core \ NHibernate 、数据迁移Log4Net (日志记录)AutoMapper(实现DTO类与实体类的双向自动转换)

客户端:

BootstrapLessAngularVue.jsjQueryModernizr其他JS库:jQuery.validate、jQuery.form、jQuery.blockUI、json2

ABP实现了以下特性

多语言/本地化支持多租户支持(每个租户的数据自动隔离,业务模块开发者不需要在保存和查询时写相应代码)软删除支持(继承相应的基类或实现相应接口,会自动实现软删除)统一的异常处理(应用层几乎不需要处理自己写异常处理代码)数据有效性验证(ASP.NET MVC 只能做到Action方法的参数验证,ABP实现了Application层方法的参数有效性验证)日志记录(自动记录程序异常)模块化开发(每个模块有独立的EF DbContext,可单独指定数据库)Repository仓储模式(已实现了Entity Framewok、NHibernate、MangoDB、内存数据库)Unit Of Work 工作单元模式(为应用层和仓储层的方法自动实现数据库事务)EventBus 实现领域事件(Domain Events)DLL嵌入资源管理通过Application Services 自动创建Web Api 层(不需要写ApiController层)自动创建javascript的代理层来更方便使用Web Api封装一些javascript函数,更方便的使用ajax、消息框、通知组件、忙状态的遮罩层 “Zero”的模块,实现了以下功能:身份验证与授权管理(通过ASP.NET Identity实现)用户&角色管理系统设置存取管理(系统级、租户级、用户级、作用范围自动管理)审计日志(自动记录每一次接口的调用者和参数)

ABP适用的场景

中小规模WEB应用开发,可直接适用ABP框架。较大型项目可以在ABP框架的源码基础上进行扩展,以实现分布式架构 注:处理高并发并不是ABP的强项,需要非常高并发的DDD框架,建议去研究netfocus的ENode

相关推荐

门店销售提成怎么算?常见计算方法与实操指南
365足彩推荐

门店销售提成怎么算?常见计算方法与实操指南

📅 10-01 👁️ 6255
PSP有哪些好玩的游戏?掌机迷必玩的20款PSP佳作推荐
365bet繁体中文

PSP有哪些好玩的游戏?掌机迷必玩的20款PSP佳作推荐

📅 10-16 👁️ 4778
桃花水母可以养吗,怎么养
365bet繁体中文

桃花水母可以养吗,怎么养

📅 10-12 👁️ 2367