控制反转(IoC)

摘自【老A】http://www.cnblogs.com/artech/p/asp-net-core-di-ioc.html

  IoC的全名Inverse of Control,翻译成中文就是“控制反转”或者“控制倒置”。控制反转也好,控制倒置也罢,它体现的意思是控制权的转移,即原来控制权在A手中,现在需要B来接管。那么具体对于软件设计来说,IoC所谓的控制权的转移具有怎样的体现呢?在我看来这里所谓的控制更多地体现为一种“流程的控制”。  

  1. IoC 主要体现这样一种设计思想:通过将一组通用流程的控制转移到框架之中以实现对框架的复用。所以IoC符合软件设计一个基本的原则,即重用性。

  2. IoC 对流程的定制遵循着这样一个原则,即“Don't call us, we'll call you!”,它被称为好莱坞原则。使得这个被重用的流程可能自由地被定制。

  

  流程控制的反转:当我们构建一个应用的时候,我们不仅仅是需要一个能够提供API的类库,实际上更理想的形式是直接在一个现有的框架上构架我们的应用。

  1. 类库(Library)和框架(Framework)的不同之处在于:前者往往只是提供实现某种单一功能的API,而后者则针对一个目标任务对这些单一功能进行编排形成一个完整的流程,这个流程在一个引擎的驱动下被执行

   

  

猜你喜欢

转载自www.cnblogs.com/wow-xc/p/9027315.html