美文网首页android百科
三、依赖倒置原则

三、依赖倒置原则

作者: Jimmy5Zhang | 来源:发表于2018-05-06 23:33 被阅读3次

1、定义

依赖倒置原则,高层模块不应该依赖底层模块,两者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。
DIP_Diagram.png

2、实现

(1)定义车接口


public interface ICar {

    void run();
}

(2)定义司机接口


public interface IDriver {

    void drive(ICar car);
}

(3)司机实现类


public class Driver implements IDriver {

    @Override
    public void drive(ICar car) {
        car.run();
    }
}

(4)奔驰车实现类


public class Benz implements ICar {

    @Override
    public void run() {
        Log.d("JimmyZhang", "奔驰汽车开始运行...");
    }
}

(5)宝马车实现类

public class BMW implements ICar {

    @Override
    public void run() {
        Log.d("JimmyZhang", "宝马汽车开始运行...");
    }
}

(7)测试实现

public class Client {

    public static void main(String[] args) throws IOException {
        IDriver zhangsan = new Driver();
        ICar benz = new Benz();
        zhangsan.drive(benz);
    }
}

3、依赖的三种写法

(1)构造函数传递依赖对象;
(2)Setter方法传递依赖对象;
(3)接口声明依赖对象。

4、最佳实践

(1)每个类尽量都有接口或者抽象类,或者抽象类和接口两者都具备;
(2)变量的表面类型尽量是接口或者抽象类;
(3)任何类都不应该从具体类派生;
(4)尽量不要覆写基类的方法;
(5)结合里氏替换原则使用。

相关文章

  • 依赖倒置原则

    个人博客原文:依赖倒置原则 设计模式六大原则之三:依赖倒置原则。 简介 姓名 :依赖倒置原则 英文名 :Depen...

  • 依赖倒置原则

    依赖倒置原则 “依赖倒置原则(Dependence Inversion Principle,DIP)” 定义: 高...

  • 依赖倒置/好莱坞原则/控制反转

    # 请描述什么是依赖倒置原则,为什么有时候依赖倒置原则又被称为好莱坞原则? 依赖倒置原则: - 高层模块不应该依赖...

  • 第二周

    请描述什么是依赖倒置原则,为什么有时候依赖倒置原则又被称为好莱坞原则? 依赖倒置原则 Dependency Inv...

  • 依赖倒置原则(DIP)

    依赖倒置原则定义 依赖倒置原则(Dependence Inversion Principle ,DIP)定义如下:...

  • 架构师训练营第2周命题作业

    一.请描述什么是依赖倒置原则,为什么有时候依赖倒置原则又被称为好莱坞原则? 1.依赖倒置原则描述: 1.1. 高...

  • 框架设计[week 2]

    作业一: 1.请描述什么是依赖倒置原则,为什么有时候依赖倒置原则又被称为好莱坞原则? 依赖倒置原则: 高层模块不应...

  • 架构师训练营第二周作业

    1. 请描述什么是依赖倒置原则,为什么有时候依赖倒置原则又被称为好莱坞原则? 答:依赖倒置原则,英文缩写DIP,全...

  • 架构师训练营第2周作业 面向对象设计原则

    请描述什么是依赖倒置原则,为什么有时候依赖倒置原则又被称为好莱坞原则? 依赖倒置原则的标准描述如下: 高层模块不应...

  • 六大设计原则-依赖倒置原则

    依赖倒置原则 Dependency Inversion Principle 简称DIP。 什么是依赖倒置原则 1....

网友评论

    本文标题:三、依赖倒置原则

    本文链接:https://www.haomeiwen.com/subject/xlpprftx.html