一块儿写框架-控制反转(Ioc)概述(二)

控制反转概述

控制反转(Inversion of Control,英文缩写为IoC就是将代码的调用的控制权,由调用方转移给被调用方。编程

 

如图:修改代码A类的代码,才能将B类的对象换成C类。代码的控制权在A类(调用方)。咱们将这种代码调用的方式,称为强耦合的代码调用。框架

 

(图2-1spa

 

将上图的需求,修改成使用Ioc的调用代码方式。就是将代码的控制权从调用方法修改成被调用方法,意味着,代码的调用修改被调用方(咱们也称为服务方),不用修改调用方的的代码。设计

 

如图:对象

 

(图2-2blog

Ioc内核就是解决这两个问题

根据上图能够的得出,实现一个IoC的框架,必需要解决两个问题:接口

1.被调用方,在程序启动时就要建立好对象,放在一个容器里面。io

2.调用方使用一个接口或类的引用(不用使用new),就能够建立得到对象。table

 

咱们将这种不用new,而是根据接口或者类的引用就能够从被调用的容器里得到建立的对象的方式称为依赖注入。程序设计

 

因此,控制反转(Ioc),就是依赖注入加上面向接口的编程思想的实现。

 

为何须要IoC

首先咱们须要知道,一个程序设计的原则。高内聚,低耦合。IoC容器的实现,就是用于统一管理对象与对象的关系。将原本类与类之间的调用关系,变成了引用关系。

 

下降了类与类之间的耦合度。因此IoC这套理念为低耦合而生。

相关文章
相关标签/搜索