ASP.NET Boilerplate终于发布v1.0了
(此文章同时发表在本人微信公众号“dotNET每日精华文章”,欢迎右边二维码来关注。)
题记: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版本),当然也有一些破坏变更(删除了所有废弃类和方法)。
ASP.NET Boilerplate终于发布v1.0了的更多相关文章
- OdnShop 发布 V1.0 正式版,完整可用的开源微商城系统
OdnShop是基于ASP.NET 4.0+Mysql开发的开源微商城系统,我们的目标是构建一个核心完善而又轻量级的微商城平台. 本版本更新功能: 1,修正数据库操作的部分表名称的表前缀错误: 2,修 ...
- HybridStart发布v1.0测试版
HybridStart是一款多webview模式的混合应用前端开发框架,本来只是作者自用的一套混合应用开发模板,为了进一步提高混合应用开发效率,近期着重在框架高通用性和易用性方面做了较大改进,比如将U ...
- Node.js开源应用OSN发布初始V1.0版本-见面版本
Nodejs开源应用OSN初始版本V1.0发布,请参考本操作说明文档,有任何问题请留言 Nodejs开源应用OSN发布V1.0版本: OSChina收录地址: OSC收录地址:http://www.o ...
- Asp.net Boilerplate源码中NotNullAttribute的用处
看Asp.net Boilerplate 1.1.3.0源码时发现有一个NotNullAttribute的定义和27处的引用,就是不知道它的作用,当然顾名思义是可以的,就是不知道它是怎么判断的,在哪里 ...
- [译]ABP v1.0终于发布了!
ABP v1.0终于发布了! 今天是个大日子!经过约3年的不断开发,第一个稳定的ABP版本,1.0,已经发布了.感谢为该项目做出贡献或试用过的每个人. 立即开始使用新的ABP框架:abp.io/get ...
- RDIFramework.NET平台代码生成器V1.0发布(提供下载)
RDIFramework.NET平台代码生成器V1.0发布(提供下载) RDIFramework.NET(.NET快速开发整合框架)框架做为信息化系统快速开发.整合的框架,其目的一至是给用户和开发 ...
- Omi v1.0震撼发布 - 令人窒息的Web组件化框架
原文链接--https://github.com/AlloyTeam/omi 写在前面 Omi框架经过几十个版本的迭代,越来越简便易用和强大. 经过周末的连续通宵加班加点,Omi v1.0版本终于问世 ...
- Rookey.Frame v1.0 视频教程发布了
经过昨天几个小时的折腾, Rookey.Frame v1.0开发视频教程终于发布了,由于是第一次做视频有很多地方做的不够好,后续我会慢慢改进,争取将视频教程做好. 本期发布视频: (一)Rookey. ...
- Omi v1.0震撼发布 - 开放现代的Web组件化框架
原文链接--https://github.com/AlloyTeam/omi 写在前面 Omi框架经过几十个版本的迭代,越来越简便易用和强大. 经过周末的连续通宵加班加点,Omi v1.0版本终于问世 ...
随机推荐
- webpack踩坑之路——图片的路径与打包
转自:http://www.cnblogs.com/ghost-xyx/p/5812902.html 刚开始用webpack的同学很容易掉进图片打包这个坑里,比如打包出来的图片地址不对或者有的图片并不 ...
- Bubble Cup 8 finals C. Party (575C)
题意: 给定n个人,分两天晚上去夜总会开派对,要求每天恰好有n/2个人去,且每人去的夜总会各不相同. 每个人对不同的晚上不同的夜总会有不同的满意度,求一个方案使得所有人的满意度之和最大. 夜总会数量= ...
- ReportView报表开发记录(一)
在公司开发,使用到ReportView技术,写下自己的经验. 1.在工具箱中找到 ReportViewer,ScriptManager放到test.aspx页面. 如果找不到报表项,请参考http:/ ...
- MySQL模糊搜索的四种用法
1,%:表示任意0个或多个字符.可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示. 比如 SELECT * FROM [user] WHERE u_name LIKE '% ...
- C#大数据文本高效去重
C#大数据文本高效去重 转载请注明出处 http://www.cnblogs.com/Huerye/ TextReader reader = File.OpenText(@"C:\Users ...
- Life Is A Funny Proposition After All
你们有没有坐下思考,感到疑惑 ,静静思考,我们为什么在这里 ,生活为什么如此这般 这个问题让无数聪明人喝酒买醉,这是最最奇怪的事情,他们都想弄清楚,科学家们可以展示上千种不同的理论,但从未证明这是为什 ...
- Rails Array method second/third/second_to_last
http://api.rubyonrails.org/classes/Array.html#method-i-second [27] pry(main)> list = ["a&quo ...
- Object类和常用方法
Object类是java语言的根类,要么是一个类的直接父类,要么就是一个类的间接父类.所有对象(包括数组)都实现这个类的方法. 引用数据类型:类/接口/数组,引用数据类型又称之位对象类,所谓的数组变量 ...
- angular开发单页面应用--页面资源部分
关于angular是什么,能够干什么就不在这里解释了,自行搜索了,或者等稍晚一点再解释... angular适合开发单页面应用,这句话在介绍angular的网站和博客里都可以提到.因为angular是 ...
- bzoj3744 Gty的妹子序列
我是萌萌的传送门 感觉这题还是不错的--虽然其实算是比较水的题= = 首先分块,令f[i][j]表示第i块到第j块的逆序对数,询问的时候直接计算不完整块与完整块以及不完整块之间的逆序对. 不完整块之间 ...