【架构师之路】-【01设计模式】-04设计原则之依赖倒转原则
2017-03-09 10:45
387 查看
定义:高层模块不依赖低层模块,他们都依赖其抽象;抽象不依赖实现;实现依赖抽象。
总结:一句话就是面向接口编程。
举例说明:定义一个Person类 ;里面有一个Driver()的方法;传入一个Car的参数;然后调用Car。move方法
如果现在我们要开的是一个Mpv呢?修改代码如下:
这样子的话我们是不是修改了类里的方法参数;当然你也可以重载一个drive()方法。如果我们面向接口编程会是什么样子呢?
我们先抽象交通工具类Vehicle,里面定义一个抽象方法move();实现类不管是Car,Mpv都实现 move()方法;
然后在使用时运用接口的方式:这是不是每次添加一个新的交通工具后我们都不需要在去修改调用者的方法了呢?
这就是面向接口编程的好处!!!
最后再次总结:依赖倒转原则 就是面向接口编程。
总结:一句话就是面向接口编程。
举例说明:定义一个Person类 ;里面有一个Driver()的方法;传入一个Car的参数;然后调用Car。move方法
public class Person{ public void drive(Car car) { car.move(); } } public class Car { puboic void move() { system.out.println(" 小汽车移动 "); } }
如果现在我们要开的是一个Mpv呢?修改代码如下:
public class Person{ public void drive(Mpv mpv) { mpv.move(); } } public class Car { puboic void move() { system.out.println(" 小汽车移动 "); } } public class Mpv { puboic void move() { system.out.println(" mpv移动 "); } }
这样子的话我们是不是修改了类里的方法参数;当然你也可以重载一个drive()方法。如果我们面向接口编程会是什么样子呢?
public class Person{ public void drive(Vehicle vehicle) { vehicle.move(); } } public interface Vehicle { public void move(); } public class Car implements Vehicle{ puboic void move() { system.out.println(" 小汽车移动 "); } } public class Mpv implements Vehicle{ puboic void move() { system.out.println(" mpv移动 "); } }
我们先抽象交通工具类Vehicle,里面定义一个抽象方法move();实现类不管是Car,Mpv都实现 move()方法;
然后在使用时运用接口的方式:这是不是每次添加一个新的交通工具后我们都不需要在去修改调用者的方法了呢?
这就是面向接口编程的好处!!!
最后再次总结:依赖倒转原则 就是面向接口编程。
相关文章推荐
- 【架构师之路】-【01设计模式】-05设计原则之接口分离原则
- 【架构师之路】-【01设计模式】-07设计原则之开闭原则
- 【架构师之路】-【01设计模式】-02设计原则之单一职责原则
- 【架构师之路】-【01设计模式】-03设计原则之里式替换原则
- 设计模式六大原则(三)依赖倒转原则
- 设计模式:依赖倒转原则
- 设计模式之单一职责原则、开发-封闭原则和依赖倒转原则
- 【设计模式】单一职责原则、开放封闭原则、依赖倒转原则
- 设计模式之依赖倒转原则
- 设计模式之依赖倒转原则
- JAVA设计模式-依赖倒转原则
- 设计模式六大原则--依赖倒转原则
- 【设计模式】三、单一职责原则,开发-封闭原则,依赖倒转原则
- 设计模式之依赖倒转原则学习
- 设计模式-依赖倒转原则
- 设计模式中遵循的原则:单一职责、开发-封闭、依赖倒转
- 设计模式--依赖倒转原则
- 设计模式之依赖倒转原则学习
- 设计模式 学习笔记(2)单一职责原则、开放封闭原则、依赖倒转原则
- JAVA设计模式之依赖倒转原则