前言摘要

很早以前就有要写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. 采用EntityFramework.Extended 对EF进行扩展(Entity Framework 延伸系列2)

    前言 Entity Framework 延伸系列目录 今天我们来讲讲EntityFramework.Extended 首先科普一下这个EntityFramework.Extended是什么,如下: 这 ...

  2. C语言 · Torry的困惑(基本型)

    问题描述 Torry从小喜爱数学.一天,老师告诉他,像2.3.5.7--这样的数叫做质数.Torry突然想到一个问题,前10.100.1000.10000--个质数的乘积是多少呢?他把这个问题告诉老师 ...

  3. Redis/HBase/Tair比较

    KV系统对比表 对比维度 Redis Redis Cluster Medis Hbase Tair 访问模式    支持Value大小 理论上不超过1GB(建议不超过1MB) 理论上可配置(默认配置1 ...

  4. 分享两种实现Winform程序的多语言支持的解决方案

    因公司业务需要,需要将原有的ERP系统加上支持繁体语言,但不能改变原有的编码方式,即:普通程序员感受不到编码有什么不同.经过我与几个同事的多番沟通,确定了以下两种方案: 方案一:在窗体基类中每次加载并 ...

  5. python 数据类型 --- 集合

    1. 注意列表和集合的区别 set 列表表现形式: list_1 = [1,3,4];  集合表现形式:set_1= set() list_1 = [1,2,3,4,23,4,2] print(lis ...

  6. GJM : C#设计模式汇总整理——导航 【原创】

    感谢您的阅读.喜欢的.有用的就请大哥大嫂们高抬贵手"推荐一下"吧!你的精神支持是博主强大的写作动力以及转载收藏动力.欢迎转载! 版权声明:本文原创发表于 [请点击连接前往] ,未经 ...

  7. 浅谈Web自适应

    前言 随着移动设备的普及,移动web在前端工程师们的工作中占有越来越重要的位置.移动设备更新速度频繁,手机厂商繁多,导致的问题是每一台机器的屏幕宽度和分辨率不一样.这给我们在编写前端界面时增加了困难, ...

  8. Java 中获取类路径 classpath 的方法

    System.out.println("++++++++++++++++++++++++"); String path = System.getProperty("jav ...

  9. Linux虚拟化学习笔记<一>

    关于虚拟化,原理的东西是非常复杂的,要想完全理解,没有足够的耐心是不不能完全学透这部分内容的.那下面我主要以资源汇总的形式把一些资料罗列出来,帮助大家快速理解虚拟化,快速使用和配置. 为什么要虚拟化: ...

  10. 网站缓存技术总结( ehcache、memcache、redis对比)

    网站技术高速发展的今天,缓存技术已经成为大型网站的一个关键技术,缓存设计好坏直接关系的一个网站访问的速度,以及购置服务器的数量,甚至影响到用户的体验. 网站缓存按照存放的地点不同,可以分为客户端缓存. ...