微信号:dotNETArticles

介绍:朱永光关于.NET开发各方面的技术分享,有时候也会精选整理、翻译和转载社区里对开发人员、架构师、团队管理者有用的一些精华文章.

ASP.NET Boilerplate终于发布v1.0了

2016-10-01 18:12 朱永光

题记:ABP经过2年多的开发,终于发布第一个主要版本了,谨此提醒ABP的使用者。


ASP.NET Boilerplate之前顺带介绍过两次。下面直接摘抄一点阳铭的介绍(http://www.cnblogs.com/mienreal/p/4528641.html):

ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称。

ASP.NET Boilerplate是一个用最佳实践和流行技术开发现代WEB应用程序的新起点,它旨在成为一个通用的WEB应用程序框架和项目模板。

ASP.NET Boilerplate 基于DDD的经典分层架构思想,实现了众多DDD的概念(但没有实现所有DDD的概念)。

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、消息框、通知组件、忙状态的遮罩层等等


当然由于ABP在快速迭代中,到现在已经引入了更多新特性和加强。最近ABP已经支持.NET Core的项目结构(其实ABP本身已经在使用.NET Core的项目结构在开发和发布了),当然并未真正支持跨平台运行(因为.NET Core的目标框架还是net452)。


在这个v1.0中(https://github.com/aspnetboilerplate/aspnetboilerplate/releases/tag/v1.0.0.0),引入了一些新特性(比如值对象基类),提供了一些加强(比如我提出的聚合根对象应该也提供Audited版本),当然也有一些破坏变更(删除了所有废弃类和方法)。

 
dotNET每日精华文章 更多文章 EF不能很好的支持DDD?估计是我们搞错了! 如何持续集成\/交付一个开源.NET函数库到Nuget.org 在ASP.NET MVC项目中使用React 详解ABP框架的多租户 .NET开发者如何愉快的进行微信公众号开发
猜您喜欢 9个我最喜欢问程序员的面试问题 HTML5游戏框架大军中的一乘轻骑Phaser 详细了解 Android Context Python基础教程3:基础语法 过去20年里数字营销的5个惊人教训