什么是依赖倒置原则
1、什么是依赖倒置原则
高层次的模块不应该依赖于低层次的模块,他们都应该依赖于抽象。抽象不应该依赖于具体实现,具体实现应该依赖于抽象。也就是说要面向接口编程,不能面向实现编程。
依赖倒置原则是六大设计原则中的一种,它的大致意思是所有模块都应该依赖于抽象,而不是直接依赖于另一个模块。依赖倒置原则仅仅只是一个原则而已,它只是告诉了你程序应该要变成什么样子(模块之间依赖抽象),而并没有具体告诉你应该怎么做。就像我们在开发业务系统,对数据存储时,只需要调用存储接口,业务系统不需要关心是写入哪种数据库,只需要将需要持久的业务数据交给存储接口。
依赖倒置原则的最核心思想就是:依赖于抽象,面向接口或抽象编程。
好莱坞原则: 你别调用我,我来调用你
好莱坞原则强调高层对低层的主动作用,即低层应该只管好自己的工作(具体实现),而高层自有它自己的工作(这就是管理低层的逻辑们,或者说从client到具体实现的一系列中间逻辑),在不需要到某个低层的时候,高层并不会调用到这个具体低层,低层永远不需要向高层作出表示,,说它需要被调用,,(即在所有的处于使用者与现有代码的中间的,用于隔离和解偶二者的,那些中间逻辑中,低层逻辑永远不要涉入高层的实现,而只要高层通过某个逻辑去涉入低层的实现,也即低层应不要调用高层,只有高层才会去调用低层,这才是合理的,我们应尽量避免向上调用和相互调用)。
2、使用依赖倒置原则的框架
比如:Autofac 就是使用到了依赖倒置原则。
评论