OOD 设计原则之 DIP


概念
DIP:Dependency Inversion Principle。
高层模块不能依赖底层模块,都应该依赖其抽象
抽象不能依赖细节,细节应该依赖抽象
对于Java来说,就是面向接口编程,不是面向实现编程。
依赖层次

底层模块拥有上层接口的定义,在需要的时候,使用接口的具体实现。
`Don’t call us,we’ll call you.`
接口是更高级的抽象,是所有底层的基本抽象、基本特征,所以是不易发生变化的。
基于不变的抽象,做设计,不受制于具体的细节,甚至可以无视某些特征。
当然了,对于不变的类,也可以可以直接使用。如java.lang.String。
不变,才能带来更稳定、更可靠的设计
版权声明: 本文为 InfoQ 作者【无心水】的原创文章。
原文链接:【http://xie.infoq.cn/article/ce2fa7f6754054db60a5b787a】。文章转载请联系作者。
评论