前言摘要

很早以前就有要写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. 谈谈如何使用Netty开发实现高性能的RPC服务器

    RPC(Remote Procedure Call Protocol)远程过程调用协议,它是一种通过网络,从远程计算机程序上请求服务,而不必了解底层网络技术的协议.说的再直白一点,就是客户端在不必知道 ...

  2. 菜鸟学Struts2——Interceptors

    昨天学习Struts2的Convention plugin,今天利用Convention plugin进行Interceptor学习,虽然是使用Convention plugin进行零配置开发,这只是 ...

  3. FFmpeg 中AVPacket的使用

    AVPacket保存的是解码前的数据,也就是压缩后的数据.该结构本身不直接包含数据,其有一个指向数据域的指针,FFmpeg中很多的数据结构都使用这种方法来管理数据. AVPacket的使用通常离不开下 ...

  4. iOS 键盘添加完成按钮,delegate和block回调

    这个是一个比较初级一点的文章,新人可以看看.当然实现这个需求的时候自己也有一点收获,记下来吧. 前两天产品要求在工程的所有数字键盘弹出时,上面带一个小帽子,上面安装一个“完成”按钮,这个完成按钮也没有 ...

  5. WinForm设置控件焦点focus

    winform窗口打开后文本框的默认焦点设置,进入窗口后默认聚焦到某个文本框,两种方法: ①设置tabindex 把该文本框属性里的tabIndex设为0,焦点就默认在这个文本框里了. ②Winfor ...

  6. Android之三种网络请求解析数据(最佳案例)

    AsyncTask解析数据 AsyncTask主要用来更新UI线程,比较耗时的操作可以在AsyncTask中使用. AsyncTask是个抽象类,使用时需要继承这个类,然后调用execute()方法. ...

  7. Android的Kotlin秘方(I):OnGlobalLayoutListener

    春节后,又重新“开张”.各位高手请继续支持.谢谢! 原文标题:Kotlin recipes for Android (I): OnGlobalLayoutListener 原文链接:http://an ...

  8. SQL 提示介绍 hash/merge/concat union

    查询提示一直是个很有争议的东西,因为他影响了sql server 自己选择执行计划.很多人在问是否应该使用查询提示的时候一般会被告知慎用或不要使用...但是个人认为善用提示在不修改语句的条件下,是常用 ...

  9. NYOJ 975

    这道题一开始本着很朴素的想法就是先输入两头的数据,然后对每组的数据范围下测试中间的数据即可,但是是超时的.原因也很明显,比如计算1~1000的数据之后,假如下一组数据是1~1001,本来只需要多测试下 ...

  10. linux常用命令(1)cd命令

    1 命令格式:cd [目录名]2 命令功能切换当前目录至dirName3 常用范例3.1 进入系统根目录cd /3.2 进入上级目录cd ..   或者 cd ..//3.3 进入当前用户主目录当前用 ...