欢迎来到天天文库
浏览记录
ID:28444243
大小:74.12 KB
页数:5页
时间:2018-12-10
《aspnet样板项目abp框架的特性总结》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、ASP.NET样板项目ABP框架的特性总结这篇文章主要介绍了ASP.NET样板项目ABP框架的特性总结,ABP框架基于ASP.NET框架,用于开发Web应用程序,需要的朋友可以参考下ABP是UASP.NETBoilerplateProject(ASP.NET样板项目)”的简称。ASP.NETBoilerplate是一个用最佳实践和流行技术开发现代WEB应用程序的新起点,它旨在成为一个通用的WEB应用程序框架和项目模板。ASP.NETBoilerplate基于DDD的经典分层架构思想,实现了众多DDD的概念(但没有实现所有DDD的概念)。ABP的官
2、方网站:http://www.aspnetboilerplate.comABP在Github上的开源项目:https://github.com/aspnetboilerplateASP.NETBoilerplate采用了以下技术:多语言/本地化支持多租户支持(每个租户的数据自动隔离,业务模块开发者不需要在保存和查询数据时写相应代码)软删除支持(继承相应的基类或实现相应接口,会自动实现软删除)统一的异常处理(应用层几乎不需要处理自己写异常处理代码)数据有效性验证(Asp.NETMVC只能做到Action方法的参数验证,ABP实现了Applicati
3、on层方法的参数有效性验证)日志记录(自动记录程序异常)模块化开发(每个模块有独立的EFDbContext,可单独指定数据库)Repository仓储模式(己实现了EntityFramework、NHibernate、MangoDB、内存数据库)UnitOfWork工作单元模式(为应用层和仓储层的方法自动实现数据库事务)EventBus实现领域事件(DomainEvents)DLL嵌入资源管理通过ApplicationServices自动创建WebApi层(不需要写ApiController层了)自动创建Javascript的代理层来更方便使用W
4、ebApi封装一壁Javascript函数,更方便地使用ajax、消息框、通知组件、忙状态的遮罩层等等ABP是什么?ABP是为新的现代Web应用程序使用最佳实践和使用最流行工具的一个起点。可作为一般用途的应用程序的基础框架或项目模板。它的功能包括:服务器端:基于最新的.NET技术(目前是ASP.NETMVC5、WebAPI2、C#5.0,在ASP.NET5正式发布后会升级)实现领域驱动设计(实体、仓储、领域服务、领域事件、应用服务、数据传输对象,工作单元等等)实现分层体系结构(领域层,应用层,展现层和基础设施层)提供了一个基础架构来开发可重用可配
5、置的模块集成一些最流行的开源框架/库,也许有些是你正在使用的。提供了一个基础架构让我们很方便地使用依赖注入(使用CastleWindsor作为依赖注入的容器)提供Repository仓储模式支持不同的0RM(已实现EntityFramework、NHibernate、MangoDb和内存数据库)支持并实现数据库迁移(EF的Codefirst)模块化开发(每个模块有独立的EFDbContext,可单独指定数据库)包括一个简单的和灵活的多语言/本地化系统包括一个EventBus来实现服务器端全局的领域事件统一的异常处理(应用层几乎不需要处理自己写异常
6、处理代码)数据有效性验证(Asp.NETMVC只能做到Action方法的参数验证,ABP实现了Application层方法的参数有效性验证)通过ApplicationServices自动创建WebApi层(不需要写ApiController层了)提供基类和帮助类让我们方便地实现一些常见的任务使用“约定优于配置原则”客户端:Bootstrap、Less、Angularjs、jQuery、Modernizr和其他JS库:jQuery.validate、jQuery.form、jQuery.blockUI、json2等为单页面应用程序(AngularJ
7、s>Durandaljs)和多页面应用程序(Bootstrap+Jquery)提供了项目模板。自动创建Javascript的代理层来更方便使用WebApi封装一些Javascript函数,更方便地使用ajax、消息框、通知组件、忙状态的遮罩层等等ABP不是什么?ABP提供了一个应用程序开发模型用于最佳实践。它拥有基础类、接口和工具使我们容易建立起可维护的大规模的应用程序。然而:它不是RAD工具之一,RAD工具的目的是无需编码创建应用程序。相反,ABP提供了一种编码的最佳实践。它不是一个代码生成工具。在运行时虽然它有一些特性构建动态代码,但它不能生
8、成代码。它不是一个一体化的框架。相反,它使用流行的工具/库来完成特定的任务(例如用EF做ORM,用Log4Net做日志记录,使得Cast
此文档下载收益归作者所有