Spring Framework之IOC

Spring Framework之IOC

1、耦合度

耦合度(Coupling)是对模块间关联程度的度量。耦合的强弱取决与模块间接口的复杂性、调用模块的方式以及通过界面传送数据的多少。模块间的耦合度是指模块之间的依赖关系,包括控制关系、调用关系、数据传递关系。模块间联系越多,其耦合性越强,同时表明其独立性越差。
降低模块间的耦合度能减少模块间的影响,防止对某一模块修改所引起的“牵一发动全身”的水波效应,保证系统设计顺利进行。程序之间耦合度降低会大大节约维护成本。

2、IOC

IOC(Inversion of Control),即“控制反转”,是一种设计思想,其产生就是为了程序模块间的解耦。传统应用程序都是由我们在类内部主动创建依赖对象,从而导致类与类之间高耦合,难于测试,且维护成本高;有了IoC容器后,把创建和查找依赖对象的控制权交给了容器,由容器进行注入组合对象,所以对象与对象之间是松散耦合,这样也方便测试,利于功能复用,更重要的是使得程序的整个体系结构变得非常灵活。
之所以称为控制反转,是因为将对象的创建和关联交由IOC容器来完成,而程序本身只需要专注于业务逻辑。

3、IOC实现

DI(Dependency Injection),即“依赖注入”,是控制反转的实现方法。理解DI的关键是:“谁依赖谁,为什么需要依赖,谁注入谁,注入了什么”:

●谁依赖于谁:应用程序依赖于IoC容器;

●为什么需要依赖:应用程序需要IoC容器来提供外部资源;

●谁注入谁:IoC容器中注入应用程序依赖的某个对象;

●注入了什么:就是注入某个对象所需要的外部资源(包括对象、资源、常量数据)。
  
总结:IOC就是通过DI把应用程序所需对象注入到IOC容器中,最要目的就是解耦、解耦、解耦!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值