依赖倒置原则

设计原则:依赖倒置原则

依赖倒置原则(Dependence Inversion Principle)是程序要依赖于抽象接口,不要依赖于具体实现。简单的说就是要求对抽象进行编程,不要对实现进行编程,这样就降低了客户与实现模块间的耦合。

总结:依赖倒置原则

  • A.高层次的模块不应该依赖于低层次的模块,他们都应该依赖于抽象。
  • B.抽象不应该依赖于具体,具体应该依赖于抽象。

具体例子

当在 Unity 设计底层模块时,上层模块调用的东西其实就只是一些暴露出来的方法,当底层改动的时候上层也需要改动,这就形成了高层次模块对低层次模块的依赖。这时候可以抽象出来这些需要暴露的方法,即使用接口抽象出来,使得底层依赖了抽象的接口,高层也依赖了抽象的接口,从而使得设计更加清爽。

浅谈Unity开发中的分层设计 中也使用了接口抽象的方式,不过是在底层之间的相互依赖中使用了接口,对于上层还是通过暴露公共方法的方式,加了个 模块管理器,来取得具体模块或者具体实现的接口。