摘要: 本系列文章旨在剖析.NET Core的依赖注入框架的实现原理,到目前为止我们通过三篇文章(《控制反转》、《基于IoC的设计模式》和《 依赖注入模式》)从纯理论的角度对依赖注入进行了深入论述,为了让读者朋友能够更好地理解.NET Core的依赖注入框架的设计思想和实现原理,我们创建了一个简易版本的DI 阅读全文
posted @ 2018-12-02 13:52 Linybo2008 阅读(196) 评论(0) 推荐(0) 编辑
摘要: IoC主要体现了这样一种设计思想:通过将一组通用流程的控制权从应用转移到框架中以实现对流程的复用,并按照“好莱坞法则”实现应用程序的代码与框架之间的交互。我们可以采用若干设计模式以不同的方式实现IoC,比如我们在《依赖注入[2]: 基于IoC的设计模式》介绍的模板方法、工厂方法和抽象工厂,接下来我们 阅读全文
posted @ 2018-12-02 13:51 Linybo2008 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 正如我们在《控制反转》提到过的,很多人将IoC理解为一种“面向对象的设计模式”,实际上IoC自身不仅与面向对象没有必然的联系,它也算不上是一种设计模式。一般来讲,设计模式提供了一种解决某种具体问题的方案,但是IoC既没有一个针对性的问题领域,其自身没有提供一种可实施的解决方案,所以我更加倾向于将Io 阅读全文
posted @ 2018-12-02 13:49 Linybo2008 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 写在前面:我之前写过一系列关于.NET Core依赖注入的文章,由于.NET Core依赖注入框架的实现原理发生了很大的改变,加上我对包括IoC和DI这些理论层面的东西又有了一些新的理解,所以我在此基础上写了8篇文章详细介绍.NET Core的DI。我将这些文章发布到我的微信公众账号(大内老A)下, 阅读全文
posted @ 2018-12-02 13:48 Linybo2008 阅读(136) 评论(0) 推荐(0) 编辑
摘要: OAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,目前的版本是2.0版。 1. 应用场景 为了理解OAuth的适用场合,让我举一个假设的例子。 有一个"云冲印"的网站,可以将用户储存在Google的照片,冲印出来。用户为了使用该服务,必须让"云冲印"读取自己 阅读全文
posted @ 2018-12-02 13:45 Linybo2008 阅读(179) 评论(0) 推荐(0) 编辑
摘要: OAuth 2.0 协议 OAuth是一个开发标准,允许用户授权第三方网站或应用访问他们存储在另外的服务提供者上的信息,而不需要将用户名和密码提供给第三方网站或分享他们数据的内容。 OAuth 2.0不兼容1.0。 协议的参与者 RO (resource owner): 资源所有者,对资源具有授权能 阅读全文
posted @ 2018-12-02 13:43 Linybo2008 阅读(443) 评论(0) 推荐(0) 编辑
摘要: 1. 引言 周末逛简书,看了一篇写的极好的文章,点击大红心点赞,就直接给我跳转到登录界面了,原来点赞是需要登录的。 可是没有我并没有简书账号,一直使用的QQ的集成登录。下面有一排社交登录按钮,我们可以用第三方社交账号登陆即可。点击QQ图标,就给我跳转到了QQ登录授权页面,如下图: 从图片上我们可以看 阅读全文
posted @ 2018-12-02 13:41 Linybo2008 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 作者: 阮一峰 日期: 2014年5月12日 OAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,目前的版本是2.0版。 本文对OAuth 2.0的设计思路和运行流程,做一个简明通俗的解释,主要参考材料为RFC 6749。 一、应用场景 为了理解OAuth的适 阅读全文
posted @ 2018-12-02 13:38 Linybo2008 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 微服务现在是一个很火的概念,尤其是搞IT的大多数都对其有所了解。 到底火到什么程度呢?2016年有一个统计说,两千家企业里,30%在使用微服务,15%在实验开发和测试微服务架构,24%在学习微服务准备转型,只有剩下的30%的企业没有使用微服务。 微服务到底有什么好呢?微服务在2013年才被提出,短短 阅读全文
posted @ 2018-12-02 13:26 Linybo2008 阅读(533) 评论(0) 推荐(0) 编辑
摘要: 这里所谓的与第三方AOP框架的整合不是说改变Dora.Interception现有的编程,而是恰好相反,即在不改变现有编程模式下采用第三方AOP框架或者自行实现的拦截机制。虽然我们默认提供基于IL Emit实现方式,并且对IL指令进行了深度的优化,但是如果我们真的具有更好的选择,我们可以通过简单的扩 阅读全文
posted @ 2018-12-02 13:18 Linybo2008 阅读(177) 评论(0) 推荐(0) 编辑
摘要: Dora.Interception最初的定位就是专门针对.NET Core的AOP框架,所以在整个迭代过程中我大部分是在做减法。对于.NET Core程序开发来说,依赖注入已经成为无处不在并且“深入骨髓”的东西,不论是在进行业务应用的开发,还是进行基础组件的开发,依赖注入是实现“松耦合”最为理想的方 阅读全文
posted @ 2018-12-02 13:15 Linybo2008 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 在《以约定的方式定义拦截器》中,我们通过对拦截器的介绍了Dora.Interception的两种拦截机制,即针对接口的“实例拦截”针对虚方法的“类型拦截”。我们介绍了拦截器的本质以及基于约定的拦截器定义方式,接下来我们将着重关注拦截器的应用问题。 一、拦截器应用解决什么问题 和有些AOP框架不同,D 阅读全文
posted @ 2018-12-02 13:12 Linybo2008 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 上一篇《更加简练的编程体验》提供了最新版本的Dora.Interception代码的AOP编程体验,接下来我们会这AOP框架的编程模式进行详细介绍,本篇文章着重关注的是拦截器的定义。采用“基于约定”的Interceptor定义方式是Dora.Interception区别于其他AOP框架的一个显著特征 阅读全文
posted @ 2018-12-02 12:56 Linybo2008 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 很久之前开发了一个名为Dora.Interception的开源AOP框架(github地址:https://github.com/jiangjinnan/Dora,如果你觉得这个这框架还有那么一点价值,请不吝多点一颗星),最近对它作了一些改进(包括编程模式和性能,目前最新版本2.1.4)。一直以来我 阅读全文
posted @ 2018-12-02 12:47 Linybo2008 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 大家在学习entityframework的时候,都知道那linq写的叫一个爽,再也不用区分不同RDMS的sql版本差异了,但是呢,高效率带来了差灵活性,我们 无法控制sql的生成策略,所以必须不要让自己缺乏好的工具去监控sql,本篇给大家介绍的三种监控手段Log和SqlServer profile, 阅读全文
posted @ 2018-12-02 12:44 Linybo2008 阅读(207) 评论(0) 推荐(0) 编辑