DIP,IOC,DI简单了解

DIP依赖倒置原则

DIP是一种软件架构设计的原则
依赖倒置原则:它转换了依赖,高层模块不依赖于低层模块的实现,而低层模块依赖于高层模块定义的接口,通俗的讲,就是高层模块定义接口,低层模块复杂实现。

IOC控制反转

一种反转流、依赖和接口的方式(DIP的具体的实现方式)
IOC是一种软件设计模式,它为相互依赖的组件提供抽象,将依赖(低层模块)对象的获得交给第三方系统来控制,即依赖对象不再被依赖模块的类中直接通过new来获取,IOC有2中常见的实现方式:依赖注入和服务定位

依赖注入(DI)

是控制反转(IOC)的一种重要方式,就是将依赖对象的创建和绑定转移到被依赖对象类的外部来实现
一个类用于实现某个功能不能直接在内部实现,要有可扩展性,这个时候可以采取抽象类定义一个接口,不同对象依次实现功能

构造函数注入依赖
public interface Book {
    void buy();
}
public class GreenBook implements Book {
    @Override
    public void buy() {
        Log.e("small", "greenBook");
    }
}
public class RedBook implements Book {
    @Override
    public void buy() {
        Log.e("small", "redBook");
    }
}
public class Order {
    private Book book;

    //构造函数注入
    public Order(Book b) {
        book = b;
    }

    public void test() {
        book.buy();
    }
}
 RedBook redBook=new RedBook();//在外部创建依赖对象
        Order order=new Order(redBook);//通过构造函数注入依赖
        order.test();

IOC容器

IOC容器实际上是DI(依赖注入)框架,好处是:
* 动态创建、注入依赖对象
* 管理对象生命周期
* 映射依赖关系

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值