名词解说:IOC和DI,AOP

一、定义

IOC:反转资源获取的方向。(传统的资源查找方式要求组件向容器发起请求查找资源作为回应,容器适时的返回资源,应用了IOC后则是,容器主动地将资源推送给它所管理的组件,组件所要做的仅是选择一种合适的方式来接受资源。“查找的被动形式”)

DI:IOC的另一种表述方式。组件以一些预先定义好的方式接受来自如容器的资源注入。

二、例子

举个简单的例子:

有两个类:

class A{}

class B{

          private A a;

          public void setA(A a){

                   this.a = a;

      } 

}

对于普通容器:

A a = getA();

B b = getB();

b.setA(a);

对于IOC容器:

B b = getB();

三、IOC的前生今世

(1)分离接口与实现


这样的话Service层就要知道前面三个类,耦合度是很高的。

【相当于原始社会我们需要打把锤子的时候,要知道知道做锤头跟锤把的步骤,才能做出一把锤头】

(2)采用工厂设计模式:


耦合度降低了,知道了工厂跟接口就好了,但是代码就跟复杂了。有利于代码的扩展,分工明确了。

【相当于手工时代,知道接口跟工厂找工厂帮忙打一把就好,至于做法的步骤就交给工厂好了】

(3)采用反转控制


【高级社会,只要在门口放一个小框就自动给你一个锤头】

因此要颠覆以前的new啊什么的,而是改成依赖注入!!!

依赖注入的方式:

1、构造器注入

2、属性注入set注入

3、注解注入

4、接口注入

-------------

DI能够让相互协作的软件组件保持松散耦合,而面向切面编程(AOP)允许你把遍布应用各处的功能分离出来形成可重用的组件。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值