前言摘要
很早以前就有要写ABP高级系列教程的计划了,但是迟迟到现在这个高级理论系列才和大家见面。其实这篇博客很早就着手写了,只是楼主一直写写停停。看看下图,就知道这篇博客的生产日期了,谁知它的出厂日期竟是现在,2个半月了,哎,也是酝酿够久的了!
期间,很多园友一直在催我更新,都是在期待我的这个ABP高级系列,在这里,抱歉地说一声,让你们久等了,本人因为种种事情耽误了很长时间,所以从今天起,正式开始更新ABP理论高级系列教程。
在学习这个高级系列之前,希望你已经学习了ABP理论基础篇,以及最好已经阅读了那篇博客中提到的其他关于ABP的文章。毕竟,ABP基础篇是高级篇的铺垫,有了这个基础,学习ABP理论高级篇就相对来说容易多了。当然,这只是建议,有些高级知识点和ABP关系不大,比如第一个要讲的EF之Code First开发,即使没有ABP基础也可以学习。
时至今日,ABP这个框架已经有1307个人star,而且有712人Fork,感觉发展挺迅速的,我做了这么长时间普及工作(吹呢),不知道有没有我的贡献呢(嘿嘿),应该有我的功劳吧(害羞)!其实我对ABP的普及做了多大贡献不重要,重要的是我分享了,我收获了知识,也收获了分享的快乐,此外还看到很多人用这个框架搭建起了自己的项目,并且学到了很多知识,提升了自我!这就满足了!
作为高级系列篇,制作是需要时间和精力的,所以文章更新的周期会长一点,希望大家多点耐心。:)
技术大餐
在介绍高级知识点之前,我再次把之前的关于ABP的学习目录放到这里,方便大家查阅:
ASP.NET Boilerplate Project(ABP.Net样板项目)的简称
ABP官网:http://www.aspnetboilerplate.com
英文文档:http://www.aspnetboilerplate.com/Pages/Documents
Github:https://github.com/aspnetboilerplate
我的ABP实战系列教程(基础篇):http://www.cnblogs.com/farb/p/ABPPracticeContent.html
我的ABP实战高级系列教程(黄金篇):计划中...
我的ABP理论基础系列教程(典藏篇):http://www.cnblogs.com/farb/p/ABPTheory.html
我的ABP理论高级系列教程(白金篇):http://www.cnblogs.com/farb/p/ABPAdvancedTheoryContent.html
ABP实战时遇到的问题汇总目录:http://www.cnblogs.com/farb/category/767997.html
我的Module-Zero学习目录:http://www.cnblogs.com/farb/p/ModuleZeroContent.html
以下内容为ABP理论涉及到的高级技术,也是我接下来打算要讲的一些知识点,其实不敢言讲,只是自己搜集一些资料,学习一下,顺便总结一下,再分享一下,就这么几下子。如果您是大神呢,那您就不需要看这些基础了,请您绕行;喷子呢,请您饶了我吧,因为我实在不知道如何应对您的喷点,我只能希望您不喷。
8天掌握EF的Code First开发
为啥要讲这个呢?这不是小儿科吗?
如果你接触过EF的Code First开发,你会觉得这没有多么难,至少让你做一个CRUD操作你是没任何问题的,可是如果让你使用EF或者Code First解决绝大多数问题,那么不见得你能解决或者解决方法的效率还有待优化。感觉就像学习C#这门语言一样,入门很容易,但想要真的掌握,还需要下些功夫。其实这也不是我妄自揣测,而是我确实发现有很多园友或QQ群友经常问一下关于EF方面的问题,可是总要扯上ABP,其实他问的问题和ABP没半毛钱关系,因为使用ABP框架建的项目,所以怀疑是ABP的问题,其实根本还在于基础不牢,没有掌握EF的一些知识点。此外,EF也是ABP框架数据库基础设施层主要使用的技术,而且Module-zero的实现也是建立在EF技术之上的。所以,在这里开一个EF之Code First系列,希望使用EF Code First的同学能系统学习一下,本人也是学习,如有问题,请直接指出。
- Entity Framework介绍
- 第一个Entity Framework应用
- 领域建模和管理实体关系
- Code First开发系列之管理数据库创建,填充种子数据以及LINQ操作详解
- 视图,存储过程,异步API
- 管理并发和事务
- 数据库迁移
- 使用EF实现一个小型博客平台
.Net中的AOP
构建高内聚,低耦合软件的必学技
这个系列咱说说.Net中的AOP!什么?不知道AOP?其实我觉得你只是没系统学习过罢了,在平时的开发中,肯定或多或少用到了AOP!AOP【Aspect-Oriented Programming】,即面向切面编程!一般用于横切关注点分离,也就是说,将横切关注点(如Logging,事务,参数校验等)分离到单个类中,而不是和业务逻辑代码写到一起,这样就大大增强了应用的扩展性和健壮性。找不到学习这方面的资料?好不容易找到了还是英文的,英文不好或看不下去?没关系,这个系列我写个《AOP in .NET》系列学习笔记,从该书中挑选出精华供大家吸收,希望大家喜欢!暂时先列以下大纲,可能会改动哦!
初识AOP
AOP基础
AOP高级概念
- AOP实现类型
- 使用AOP作为架构工具
- 切面剖析:例子和执行
依赖注入【DI】
请耐心等待...
Castle Windsor
请耐心等待...
领域驱动开发【DDD】
请耐心等待...
ABP部分源码解析
请耐心等待...
前端知识
请耐心等待...
大家投票补充...
留言提醒
之前写初级教程的时候,很多园友也问了我很多知识点,有点偏高级话题,这些有点偏高级的话题我并没有一一回答,就是想放在这个高级系列中,力争将园友们的所有针对ABP的疑难困惑解决掉,如果我自己不能解决,那我就去查资料,或者去请教ABP的创始人HiKalkan,总之,让我们在这里高级系列中解决掉所有的问题吧,真正搞清、搞懂ABP框架!同时,既然这还是理论教程,所以偏理论居多,以后也会出ABP实践高级篇的,大家不要着急,慢慢学,慢慢吸收。此外,希望大家能在评论区留言,你希望在这个高级系列中把哪些知识点搞清楚,留言之前请先看下评论区,已经提到过的知识点就不要再提了,直接支持第一个提出该知识点的园友就行了,这样我更容易看出哪些知识点是大家共同希望解决的。本目录会经常更新,希望大家先收藏,方便日后查找,先谢谢大家支持!
本文转自tkbSimplest博客园博客,原文链接:http://www.cnblogs.com/farb/p/ABPAdvancedTheoryContent.html,如需转载请自行联系原作者