转自:http://www.cnblogs.com/mienreal/p/4528470.html
1、ABP总体介绍
2、ASP.NET Boilerplate入门
3、ABP分层架构
4、ABP模块系统
5、ABP启动配置
6、ABP依赖注入
7、ABP Session管理
8、ABP日志管理
9、ABP设置管理
10、ABP领域层——实体(Entities)
11、ABP领域层——仓储(Repositories)
12、ABP领域层——工作单元(Unit Of work)
13、ABP领域层——数据过滤器(Data filters)
14、ABP领域层——领域事件(Domain events)
15、ABP应用层——应用服务(Application services)
16、ABP应用层——数据传输对象(DTOs)
17、ABP应用层——参数有效性验证
18、ABP应用层——权限验证
19、ABP应用层——审计日志
20、ABP展现层——动态生成WebApi
21、ABP展现层——Javascript函数库
22、ABP展现层——导航栏设置
23、ABP展现层——异常处理
24、ABP基础设施层——集成Entity Framework
25、ABP身份与权限管理模块
我按照ABP官方文档的结构大概列出了我准备写的文章系列,以后文章中的内容将会是部分为翻译部分为自己的经验和感受。这一系列文章也正好作为我团队新成员的培训教材。
背景介绍:
有几次在技术交流会和QQ群上我提到ABP项目,几乎没有人知道这个开源项目,张善友、蟋蟀等不少朋友问过我,怎么在中文社区都搜不到ABP这个项目的介绍文章呢? 是呀,这么好的东西,应该让更多人知道。我在博客园写第一篇文章的时候就想介绍它,但因为工作太忙,文字表达效率太低,就一拖再拖。今天在netfocus汤兄的ENode群里聊到ABP项目,有不少朋友还挺感兴趣,所以建了一个QQ群(134710707),供大家以后讨论ABP的架构设计、DDD话题。
去年我们公司在规划一个新的O2O项目时,我重新考虑了技术选型(具体情况我在第1、2篇博客文章里有介绍http://www.cnblogs.com/mienreal/p/4340864.html)。我大量的学习了新技术和开源项目,决定要开发一套适合自己的框架,准备使用的思想和技术包括DDD领域驱动设计、分布式架构、模块化开发、ASP.NET MVC 5、Web Api、C# 5.0、EF 6、AutoMapper、SqlServer或MySql、Redis、XUnit、SPA等。
为了有一个好的参考对象,我研究了国内外10多个框架项目,最深入研究的有dax.net的Apworks、微软的Orchard。后来在Github上按照关注度由高到低列出所有C#项目,我看了前1000个项目的介绍,在其中找到了这个让我非常惊喜的ABP项目,它几乎完全满足我前面所列出的那些条件。它不仅功能强大,项目结构和编码风格都非常优雅,很有艺术感。
我在ABP源码的基础上,按照自己的需求做了一些修改,已用于实际开发项目数月,在这期间,我的技术也得到了很大提升。为了让更多朋友了解和使用ABP,我会写一系列的文章来介绍他的架构思想和运用方法,今天列个目录和总体介绍。英文比较好的朋友可以直接看他的官方网站,文档已经写得非常好了。
ABP的官方网站:http://www.aspnetboilerplate.com
ABP在Github上的开源项目:https://github.com/aspnetboilerplate
ABP框架于2014年5月4日首次在Github开源,截止到2015年5月25日,总共进行了1271次代码提交,49次版本发布,现在的版本号是0.6.1.1。
我在其他项目中看到的很多优秀设计,在ABP项目中都已存在,而且可能实现得更好。ABP框架的代码,都通过xUnit进行了单元测试。作者一直在用ABP框架开发他们的实际项目,从Github和他官方论坛上的信息可以看到,有很多国外的开发者在将ABP用作生产项目的基础框架。如果需要直接使用ABP组件,可以通过Nuget安装(在VS的Nuget包管理界面搜索Abp)。
为了更好地将ABP适用于自己的项目,我对ABP的源码做了一些修改,而没有直接使用ABP组件。
我的前篇文章中有介绍:新思想、新技术、新架构——更好更快的开发现代ASP.NET应用程序(续1)
我希望更多国内的架构师能关注到ABP这个项目,也许这其中有能帮助到您的地方,也许有您的参与,这个项目可以发展得更好。
今天只是作了一个大概介绍,希望有更多的朋友能去阅读源代码,然后参与讨论。
欢迎加ABP架构设计交流QQ群:134710707