JavavaJ架构算法设计模式和编程理论设计产品运营商业模式

面象对象设计6大原则之五:依赖倒置原则

2017-08-13  本文已影响38人  Java技术栈

依赖倒置原则(DIP),The Dependency Inversion Principle

定义

1、高层模块不应该依赖低层模块,两都应该依赖于抽象。

2、抽象不依赖于具体细节。

3、具体细节应该依赖于抽象。

抽象就是指接口或者抽象类,细节是指实现接口或者抽象类的具体实现类。

也就是说模块之间的依赖通过接口或抽象发生的,两个实现细节之间不能直接发生依赖,接口不能依赖实现,实现应该依赖抽象。

我们在进行分布式系统开发时,比如常用的dubbo框架,各个系统的连接都是通过接口发生的,只要依赖对方的接口就行了,而不需要知道对方的实现,更不可能依赖对方的实现类,在实际开发中只要其他模块的人把接口定义好就行了,先按接口提供的参数开发,等真正实现类都开发完了再一起联调。其他两条就更好理解了,依赖都只能依赖其抽象,而不是具体实现类。

所以,采用依赖倒置原则最大的特点是减少了类与类之间的耦合性,良好的支持各个模块并行开发互不影响,也提高了系统的可读性、可维护性和可扩展性。

上一篇下一篇

猜你喜欢

热点阅读