框架设计知识点纵览(笔记)
2016-06-08 17:14
861 查看
ABP源码分析二:ABP中配置的注册和初始化
ABP源码分析三:ABP Module
(首先申明,OnRelease事件暂时没找到统一注册的方式)
我们可以在builder注册类型前使用RegisterCallback进行统一事件注册,详见代码:
Autofac全面解析系列(版本:3.5) – [使用篇(推荐篇):5.生命周期事件]
ABP源码分析四:Configuration
ABP源码分析五:ABP初始化全过程
ABP源码分析六:依赖注入的实现
ABP源码分析七:Setting 以及 Mail
ABP源码分析八:Logger集成
Autofac中的属性注入功能使用
Orchard 刨析:Logging
ABP源码分析九:后台工作任务
ABP源码分析十:Unit Of Work
ABP源码分析十一:Timing
ABP源码分析十二:本地化
ABP源码分析十三:缓存Cache实现
ABP源码分析十四:Entity的设计
ABP源码分析十五:ABP中的实用扩展方法
ABP源码分析十六:DTO的设计
ABP源码分析十七:DTO 自动校验的实现
ABP源码分析十八:UI Inputs
ABP源码分析十九:Auditing
ABP源码分析二十:ApplicationService
ABP源码分析二十一:Feature
ABP源码分析二十二:Navigation
ABP源码分析二十三:Authorization
ABP 初探 之 权限设计 (前段js如何与后端权限结合)
ABP源码分析二十四:Notification
ABP源码分析二十五:EventBus
ABP源码分析二十六:核心框架中的一些其他功能
ABP源码分析二十七:ABP.Entity Framework
我就以我使用Fluent API 经验说说,Fluent API 比 数据注解好的地方。
1. 大家再看一眼上面代码,是不是感觉有点不纯净了,本来一个干干净净的类,搞得乱乱的。感觉有点恶心。
2. 这一点可能要后面我贴出代码,分享源代码才理解,不过使用过EntityFramework Fluent API 的应该能够理解到,配置和类分离,职责更加单一。
3. 配置和类分离,扩展性,灵活性就会更好,大家多知道,EntityFramework 不仅支持Sql Server,支持Oracle,MySql,Sqlite 等这些流行数据库,每种产品配置也许都有细微差别,如果以 DataAnnotations 方式实作,那我岂不是要重新新增模型,一样的表设计,为什么要加呢? 只有配置不同才要加啊!
4. 做技术架构,这种方式封装也比较好
ABP源码分析二十八:ABP.MemoryDB
ABP源码分析二十九:ABP.MongoDb
ABP源码分析三十:ABP.RedisCache
ABP源码分析三十一:ABP.AutoMapper
ABP源码分析三十二:ABP.SignalR
ABP源码分析三十三:ABP.Web
ABP源码分析三十四:ABP.Web.Mvc
ABP源码分析三十五:ABP中动态WebAPI原理解析
ABP源码分析三十六:ABP.Web.Api
ABP源码分析三十七:ABP.Web.Api Script Proxy API
ABP源码分析三十八: ABP.Web.Api.OData
ABP源码分析三十九:ABP.Hangfire
四十 Immutable
http://www.cnblogs.com/xuanhun/archive/2013/04/26/3045448.html
四十一 ABP理论学习之多租户
http://www.cnblogs.com/farb/p/ABPMultiTenancy.html
EntityFramework.DynamicFilters
四十二 异步锁
使用Nito.AsyncEx实现异步锁
ASP.NET 中的 Async/Await 简介
Async/Await异步编程中的最佳做法
四十三 CallContext
如何实现对上下文(Context)数据的统一管理 [提供源代码下载]
HttpContext.Current并非无处不在
CallContext和多线程
简单看看ThreadPool的源码以及从中看出线程间传值的另一种方法
ABP源码分析三:ABP Module
1.autofac 统一事件处理方式
上面说的都是为每个类型注册事件,但是如果我们希望为所有类型都注册某一事件,有什么方式来实现呢?(首先申明,OnRelease事件暂时没找到统一注册的方式)
我们可以在builder注册类型前使用RegisterCallback进行统一事件注册,详见代码:
var builder = new ContainerBuilder(); builder.RegisterCallback(cr => { // 下面的Registered事件相当类型的OnRegistered事件 cr.Registered += (sender, eventArgs) => { // OnPreparing事件 eventArgs.ComponentRegistration.Preparing += (o, preparingEventArgs) => { }; // OnActivating事件 eventArgs.ComponentRegistration.Activating += (o, activatingEventArgs) => { }; // OnActivated事件 eventArgs.ComponentRegistration.Activated += (o, activatedEventArgs) => { }; }; }); // builder.RegisterType<...>... // ...
Autofac全面解析系列(版本:3.5) – [使用篇(推荐篇):5.生命周期事件]
2.Autofac Aop
基于ASP.NET MVC的热插拔模块式开发框架(OrchardNoCMS)--AOP编程Ioc的AOP
Castle Dynamic Proxy - 2.2ABP源码分析四:Configuration
ABP源码分析五:ABP初始化全过程
ABP源码分析六:依赖注入的实现
ABP源码分析七:Setting 以及 Mail
ABP源码分析八:Logger集成
Autofac中的属性注入功能使用
Orchard 刨析:Logging
ABP源码分析九:后台工作任务
ABP源码分析十:Unit Of Work
ABP源码分析十一:Timing
ABP源码分析十二:本地化
ABP源码分析十三:缓存Cache实现
ABP源码分析十四:Entity的设计
ABP源码分析十五:ABP中的实用扩展方法
ABP源码分析十六:DTO的设计
ABP源码分析十七:DTO 自动校验的实现
ABP源码分析十八:UI Inputs
ABP源码分析十九:Auditing
ABP源码分析二十:ApplicationService
ABP源码分析二十一:Feature
ABP源码分析二十二:Navigation
ABP源码分析二十三:Authorization
ABP 初探 之 权限设计 (前段js如何与后端权限结合)
ABP源码分析二十四:Notification
ABP源码分析二十五:EventBus
ABP源码分析二十六:核心框架中的一些其他功能
ABP源码分析二十七:ABP.Entity Framework
我就以我使用Fluent API 经验说说,Fluent API 比 数据注解好的地方。
1. 大家再看一眼上面代码,是不是感觉有点不纯净了,本来一个干干净净的类,搞得乱乱的。感觉有点恶心。
2. 这一点可能要后面我贴出代码,分享源代码才理解,不过使用过EntityFramework Fluent API 的应该能够理解到,配置和类分离,职责更加单一。
3. 配置和类分离,扩展性,灵活性就会更好,大家多知道,EntityFramework 不仅支持Sql Server,支持Oracle,MySql,Sqlite 等这些流行数据库,每种产品配置也许都有细微差别,如果以 DataAnnotations 方式实作,那我岂不是要重新新增模型,一样的表设计,为什么要加呢? 只有配置不同才要加啊!
4. 做技术架构,这种方式封装也比较好
ABP源码分析二十八:ABP.MemoryDB
ABP源码分析二十九:ABP.MongoDb
ABP源码分析三十:ABP.RedisCache
ABP源码分析三十一:ABP.AutoMapper
ABP源码分析三十二:ABP.SignalR
ABP源码分析三十三:ABP.Web
ABP源码分析三十四:ABP.Web.Mvc
ABP源码分析三十五:ABP中动态WebAPI原理解析
ABP源码分析三十六:ABP.Web.Api
ABP源码分析三十七:ABP.Web.Api Script Proxy API
ABP源码分析三十八: ABP.Web.Api.OData
ABP源码分析三十九:ABP.Hangfire
四十 Immutable
http://www.cnblogs.com/xuanhun/archive/2013/04/26/3045448.html
四十一 ABP理论学习之多租户
http://www.cnblogs.com/farb/p/ABPMultiTenancy.html
EntityFramework.DynamicFilters
四十二 异步锁
使用Nito.AsyncEx实现异步锁
ASP.NET 中的 Async/Await 简介
Async/Await异步编程中的最佳做法
四十三 CallContext
如何实现对上下文(Context)数据的统一管理 [提供源代码下载]
HttpContext.Current并非无处不在
CallContext和多线程
简单看看ThreadPool的源码以及从中看出线程间传值的另一种方法
相关文章推荐
- 明天端午放假了,你吃粽子了吗?
- [IOS 开发] 格瓦拉 控制器之间的换场动画。
- PHP 第三方登录学习笔记
- 淘宝网前端开发面试题(二)--JS 面试题
- 典型用户
- asp.net 自带的缓存
- swift iOS8 XIB 问题
- 各大热补丁方案分析和比较
- 最短路算法(dijkstra)
- Android平台生成二维码并实现扫描 & 识别功能
- leetcode 109. Convert Sorted List to Binary Search Tree-链表转树|指针|二分归并
- 站长如何屏蔽流氓宽带商在你的页面里面强行插入的广告代码
- android中的spannable的使用(TextView分段显示不同颜色,字体,时间 )
- while(true)引发的Dubbo应用假死
- 派生Cylinder类
- JQuery的ajaxFileUpload图片上传初试
- 蓝牙4.1技术解析-对比4.0主要在速度和配对上有突破性进步
- Alpha版总结会议
- new image的使用
- 15安徽省大学生程序设计大赛