面象对象设计6大原则之五:依赖倒置原则
Posted wall-ee
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面象对象设计6大原则之五:依赖倒置原则相关的知识,希望对你有一定的参考价值。
依赖倒置原则(DIP),The Dependency Inversion Principle
定义
1、高层模块不应该依赖低层模块,两都应该依赖于抽象。
2、抽象不依赖于具体细节。
3、具体细节应该依赖于抽象。
抽象就是指接口或者抽象类,细节是指实现接口或者抽象类的具体实现类。
也就是说模块之间的依赖通过接口或抽象发生的,两个实现细节之间不能直接发生依赖,接口不能依赖实现,实现应该依赖抽象。
我们在进行分布式系统开发时,比如常用的dubbo框架,各个系统的连接都是通过接口发生的,只要依赖对方的接口就行了,而不需要知道对方的实现,更不可能依赖对方的实现类,在实际开发中只要其他模块的人把接口定义好就行了,先按接口提供的参数开发,等真正实现类都开发完了再一起联调。其他两条就更好理解了,依赖都只能依赖其抽象,而不是具体实现类。
所以,采用依赖倒置原则最大的特点是减少了类与类之间的耦合性,良好的支持各个模块并行开发互不影响,也提高了系统的可读性、可维护性和可扩展性。
在asp.net core中依赖倒置原则是用DI(依赖注入 Dependency inject)来实现的,并用容器来管理依赖的实现的生命周期。
参考链接:http://www.jianshu.com/p/9e14d7b8d6ba
以上是关于面象对象设计6大原则之五:依赖倒置原则的主要内容,如果未能解决你的问题,请参考以下文章