依赖倒置原则
- 高层模块不应该依赖低层模块,他们应该都依赖于抽象
- 抽象不应该依赖细节,细节应该依赖于抽象
- 针对接口编程,不针对实现编程
解释:
类A里面需要有个变量类B,类A称为高层模块,类B成为低层模块。类B最好是继承自某个接口,这个接口具有了所有类B类似的类的共有方法和变量。 高层模块声明低层模块变量的时候,应该使用低层模块的接口变量声明,然后引用实例是低层模块类B的类。 这样如果低层某块需要新增加一个类似于类B的类C, 高层模块类A需要使用类C,只需要在声明部分改成类C的实例即可。 这样做能将低层模块对高层模块的影响降低。 细节指实现了具体功能的类,抽象指接口 每个实现了具体功能的类都应该继承于接口,接口描述了所有类似类的共有特征。
这里引用一篇在unity里面的设计模式写的比较详细的博客 里面记载了好几种常用的设计模式 一个优秀的Unity3d开发者必备的几种设计模式