java依赖反转例子_01-03.依赖倒转原则(Dependence Inversion Principle)

1、基本介绍

依赖倒转原则(Dependence Inversion Principle),他有五个点需要我们去掌握,如下:

(1)高层模块不应该依赖低层模块,二者都应该依赖其抽象(何为抽象:抽象类或者接口我们就称为抽象,换言之就是可以去依赖接口,也可以去依赖抽象类,但是不能去依赖一个具体的子类)。

(2)抽象不应该依赖细节,细节应该依赖抽象。

(3)依赖倒转(倒置)的中心思想是面向接口编程。

(4)依赖倒转原则是基于怎样的理念来设计的呢?我们程序员在开发的过程中,发现有这样的一种规律:相对于细节的多变性,我们抽象的东西要相对稳定的多(也就是说高层的相对来说要稳定一些)。以抽象为基础搭建的架构比以细节为基础的架构要稳定的多。因此在java中,抽象指的是接口或抽象类(这也是为什么我们在后面学设计模式的时候,往往他的高层模块都是接口或者是抽象类),而细节就是具体的实现类。

(5)使用接口或抽象类的目的是制定好规范(这也就是我们经常所说的接口和抽象类的价值在什么地方呢?在于设计),而不涉及任何具体的操作,把展现细节的任务交给他们的实现类(也就是他的子类)去完成。

2、应用案例,如下步骤:

下面的案例我们先演示不用依赖倒转会出现什么问题,使用了依赖倒转原则又会让我们程序有什么好的地方。所以我们要有一个场景,说有一个Person类,他里有一个接收消息的功能。

(1)方案一使用传统方法实现Person类接受消息

你可能感兴趣的:(java依赖反转例子)