转自: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

ABP系列文章总目录:的更多相关文章

  1. 基于DDD的现代ASP.NET开发框架--ABP系列文章总目录

    ABP相关岗位招聘:给热爱.NET新技术和ABP框架的朋友带来一个高薪的工作机会 ABP交流会录像视频:ABP架构设计交流群-7月18日上海线下交流会的内容分享(有高清录像视频的链接) 代码自动生成: ...

  2. 基于DDD的现代ASP.NET开发框架--ABP系列文章总目录(转)

    出处:http://www.cnblogs.com/mienreal/p/4528470.html ABP相关岗位招聘:给热爱.NET新技术和ABP框架的朋友带来一个高薪的工作机会 ABP交流会录像视 ...

  3. 点这里进入ABP系列文章总目录

    基于DDD的现代ASP.NET开发框架--ABP系列之1.ABP总体介绍 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称. ASP.NET Boi ...

  4. Linux和Shell回炉复习系列文章总目录

    本页内容都是本人回炉Linux时整理出来的.这些文章中,绝大多数命令类内容都是翻译.整理man或info文档总结出来的,所以相对都比较完整. 本人的写作方式.风格也可能会让朋友一看就恶心到直接右上角叉 ...

  5. Linux 系统化学习系列文章总目录(持续更新中)

    本页内容都是本人系统化学习Linux 时整理出来的.这些文章中,绝大多数命令类内容都是翻译.整理man或info文档总结出来的,所以相对都比较完整. 本人的写作方式.风格也可能会让朋友一看就恶心到直接 ...

  6. Python从入门到精通系列文章总目录

    Python最新全套课程(8月中旬开的课),共四个月.所有课件,项目源码,课后习题和答案都包括在内. 包括:Python实战项目引入.Python基础.爬虫基础.爬虫库.Scrapy爬虫框架.动态页面 ...

  7. .NET Core微服务架构学习与实践系列文章索引目录

    一.为啥要总结和收集这个系列? 今年从原来的Team里面被抽出来加入了新的Team,开始做Java微服务的开发工作,接触了Spring Boot, Spring Cloud等技术栈,对微服务这种架构有 ...

  8. 【T-SQL】系列文章全文目录(2017-06-02更新)

    本系列[T-SQL]主要是针对T-SQL的总结. T-SQL基础 [T-SQL基础]01.单表查询-几道sql查询题 [T-SQL基础]02.联接查询 [T-SQL基础]03.子查询 [T-SQL基础 ...

  9. 【T-SQL】系列文章全文目录(2017-06-26更新)

    本系列[T-SQL]主要是针对T-SQL的总结. SQL基础 [T-SQL基础]01.单表查询-几道sql查询题 [T-SQL基础]02.联接查询 [T-SQL基础]03.子查询 [T-SQL基础]0 ...

随机推荐

  1. 使用Mysqldump 备份数据库

    使用Mysqldump 备份数据库 1.备份一个数据库 mysqldump --user [user name] --password=[password] [database name] >  ...

  2. 怎么在手机浏览器上访问电脑本地的文件,局域网内,自建WiFi也可以

    首先,电脑要有Mysql+Apache+PHP环境,我直接用Wampsever,开启环境后手机和电脑要再同一个局域网内,然后电脑上打开win+R,输入cmd,再输入ipconfig,就可以看着这台的电 ...

  3. 第一个Sprint冲刺第三天

    讨论成员:邵家文.李新.朱浩龙.陈俊金 讨论问题:如何将新学的技术应用于四则运算项目中 讨论地点:宿舍 进展:跟预期相差不远

  4. I.MX6 ubuntu-core-14.04 Apache php mysql Qt5

    /*************************************************************************** * I.MX6 ubuntu-core-14. ...

  5. mysql重命名数据表

    命令如下: rename   table oldtablename to newtablename

  6. RelativeLayout相对布局

    RelativeLayout相对布局常用属性: 第一类:属性值为true或false android:layout_centerHrizontal 水平居中 android:layout_center ...

  7. 主机控制器接口(HCI)

    主机控制器接口(HCI)提供了一种访问蓝牙硬件能力的通用接口. HCI固件通过访问基带命令.链路管理器命令.硬件状态寄存器.控制寄存器以及事件寄存器实现对蓝牙硬件的HCI命令. HCI是通过包的方式来 ...

  8. PAT (Basic Level) Practise:1027. 打印沙漏

    [题目链接] 本题要求你写个程序把给定的符号打印成沙漏的形状.例如给定17个“*”,要求按下列格式打印 ***** *** * *** ***** 所谓“沙漏形状”,是指每行输出奇数个符号:各行符号中 ...

  9. 【转】java环境配置

    JAVA开发环境的搭建(配置JAVA开发环境) 一.安装JDK 1. JVM(Java Virtual Machine—Java虚拟机) JRE(Java Runtime Environment—Ja ...

  10. Fire逃生

    Description: You are trapped in a building consisting of open spaces and walls. Some places are on f ...