前言摘要

很早以前就有要写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的同学能系统学习一下,本人也是学习,如有问题,请直接指出。

  1. Entity Framework介绍
  2. 第一个Entity Framework应用
  3. 领域建模和管理实体关系
  4. Code First开发系列之管理数据库创建,填充种子数据以及LINQ操作详解
  5. 视图,存储过程,异步API
  6. 管理并发和事务
  7. 数据库迁移
  8. 使用EF实现一个小型博客平台

.Net中的AOP

构建高内聚,低耦合软件的必学技

这个系列咱说说.Net中的AOP!什么?不知道AOP?其实我觉得你只是没系统学习过罢了,在平时的开发中,肯定或多或少用到了AOP!AOP【Aspect-Oriented Programming】,即面向切面编程!一般用于横切关注点分离,也就是说,将横切关注点(如Logging,事务,参数校验等)分离到单个类中,而不是和业务逻辑代码写到一起,这样就大大增强了应用的扩展性和健壮性。找不到学习这方面的资料?好不容易找到了还是英文的,英文不好或看不下去?没关系,这个系列我写个《AOP in .NET》系列学习笔记,从该书中挑选出精华供大家吸收,希望大家喜欢!暂时先列以下大纲,可能会改动哦!

初识AOP

  1. AOP介绍
  2. 构建一个汽车租赁应用

AOP基础

  1. 拦截方法
  2. 边界切面
  3. 拦截位置
  4. 单元测试切面

AOP高级概念

  1. AOP实现类型
  2. 使用AOP作为架构工具
  3. 切面剖析:例子和执行

依赖注入【DI】

请耐心等待...

Castle Windsor

请耐心等待...

领域驱动开发【DDD】

请耐心等待...

ABP部分源码解析

请耐心等待...

前端知识

请耐心等待...

大家投票补充...

留言提醒

之前写初级教程的时候,很多园友也问了我很多知识点,有点偏高级话题,这些有点偏高级的话题我并没有一一回答,就是想放在这个高级系列中,力争将园友们的所有针对ABP的疑难困惑解决掉,如果我自己不能解决,那我就去查资料,或者去请教ABP的创始人HiKalkan,总之,让我们在这里高级系列中解决掉所有的问题吧,真正搞清、搞懂ABP框架!同时,既然这还是理论教程,所以偏理论居多,以后也会出ABP实践高级篇的,大家不要着急,慢慢学,慢慢吸收。此外,希望大家能在评论区留言,你希望在这个高级系列中把哪些知识点搞清楚,留言之前请先看下评论区,已经提到过的知识点就不要再提了,直接支持第一个提出该知识点的园友就行了,这样我更容易看出哪些知识点是大家共同希望解决的。本目录会经常更新,希望大家先收藏,方便日后查找,先谢谢大家支持!

C#高级知识点&(ABP框架理论学习高级篇)——白金版的更多相关文章

  1. ABP框架实践基础篇之开发UI层

    返回总目录<一步一步使用ABP框架搭建正式项目系列教程> 说明 其实最开始写的,就是这个ABP框架实践基础篇.在写这篇博客之前,又回头复习了一下ABP框架的理论,如果你还没学习,请查看AB ...

  2. ABP 框架学习-01篇

    从来没有自己写过太多的技术性文章,博客里面的文章都是拷贝别人的东西,做一个笔记功能给自己用的.最近觉得应该写点自己的学习博客 https://aspnetboilerplate.com/ ABP框架, ...

  3. ABP框架理论学习之后台工作(Jobs)和后台工作者(Workers)

    返回总目录 本篇目录 介绍 后台工作 后台工作者 让你的应用程序一直运行 介绍 ABP提供了后台工作和后台工作者,它们会在应用程序的后台线程中执行一些任务. 后台工作 后台工作以队列和持续的方式在后台 ...

  4. ABP框架理论学习之Debugging

    返回总目录 所有的官方ABP nuget包都是支持GitLink的,这意味着你可以在项目中轻松地调试所有的以Abp为前缀的Nuget包. 要开启这项支持,"启用源服务器支持"选项应 ...

  5. ABP框架理论学习之Hangfire集成

    返回总目录 Hangfire是一个综合的后台工作管理者.你可以将Hangfire集成到ABP中,这样就可以不使用默认的后台工作管理者了.但你仍然可以为Hangfire使用相同的后台工作API.这样,你 ...

  6. 2019 年起如何开始学习 ABP 框架系列文章-开篇有益

    2019 年起如何开始学习 ABP 框架系列文章-开篇有益 [[TOC]] 本系列文章推荐阅读地址为:52ABP 开发文档 https://www.52abp.com/Wiki/52abp/lates ...

  7. 高薪诚聘熟悉ABP框架的.NET高级开发工程师(2016年7月28日重发)

    招聘单位是ABP架构设计交流群(134710707)群主阳铭所在的公司-上海运图贸易有限公司 招聘岗位:.NET高级开发工程师工作地点:上海-普陀区 [公司情况]上海运图贸易有限公司,是由易迅网的创始 ...

  8. ABP框架搭建项目系列教程基础版完结篇

    返回总目录<一步一步使用ABP框架搭建正式项目系列教程> 经过前面十二篇的基础教程,现在终于该做个总结了. 回顾 第一篇,我们建议新手朋友们先通过ABP官网的启动模板生成解决方案,因为这样 ...

  9. [ASP.NET MVC 大牛之路]02 - C#高级知识点概要(1) - 委托和事件

    在ASP.NET MVC 小牛之路系列中,前面用了一篇文章提了一下C#的一些知识点.照此,ASP.NET MVC 大牛之路系列也先给大家普及一下C#.NET中的高级知识点.每个知识点不太会过于详细,但 ...

随机推荐

  1. 网络原因导致 npm 软件包 node-sass / gulp-sass 安装失败的处理办法

    如果你正在构建一个基于 gulp 的前端自动化开发环境,那么极有可能会用到 gulp-sass ,由于网络原因你可能会安装失败,因为安装过程中部分细节会到亚马逊云服务器上获取文件.本文主要讨论在不变更 ...

  2. 使用 JavaScript 和 canvas 做精确的像素碰撞检测

    原文地址:Pixel accurate collision detection with Javascript and Canvas 译者:nzbin 我正在开发一个需要再次使用碰撞检测的游戏.我通常 ...

  3. UWP开发必备以及常用知识点总结

    一直在学UWP,一直在写Code,自己到达了什么水平?还有多少东西需要学习才能独挡一面?我想对刚接触UWP的开发者都有这种困惑,偶尔停下来总结分析一下还是很有收获的! 以下内容是自己开发中经常遇到的一 ...

  4. AFNetworking 3.0 源码解读(十一)之 UIButton/UIProgressView/UIWebView + AFNetworking

    AFNetworking的源码解读马上就结束了,这一篇应该算是倒数第二篇,下一篇会是对AFNetworking中的技术点进行总结. 前言 上一篇我们总结了 UIActivityIndicatorVie ...

  5. Spring之初体验

                                     Spring之初体验 Spring是一个轻量级的Java Web开发框架,以IoC(Inverse of Control 控制反转)和 ...

  6. 在centos7上安装ClamAV杀毒,并杀毒(centos随机英文10字母)成功

    前言 上传文件的时候发现总是失败,查看top发现有个进程一直cpu占用80%以上,而且名称还是随机数.kill之后,一会儿又重新生成了.突然发现居然没有在服务端杀毒的经历.在此处补齐. 安装clama ...

  7. WebApi基于Token和签名的验证

    最近一段时间在学习WebApi,涉及到验证部分的一些知识觉得自己并不是太懂,所以来博客园看了几篇博文,发现一篇讲的特别好的,读了几遍茅塞顿开(都闪开,我要装逼了),刚开始读有些地方不理解,所以想了很久 ...

  8. c#比较两个数组的差异

    将DataTable中某一列数据直接转换成数组进行比较,使用的Linq,要引用命名空间using System.Linq; string[] arrRate = dtRate.AsEnumerable ...

  9. MyBatis源码分析(一)开篇

    源码学习的好处不用多说,Mybatis源码量少.逻辑简单,将写个系列文章来学习. SqlSession Mybatis的使用入口位于org.apache.ibatis.session包中的SqlSes ...

  10. GitHub管理代码-随笔

    公司一直用的SVN进行项目管理,平时便自己折腾了下Git,这里做下GitHub的最简单的记录... 在git上创建仓库等就免谈了,网上也有好多教程,直接从创建之后记录: 在github的readme文 ...