第5章 会修电脑不会修收音机——依赖倒转原则
这里也不对应具体模式,而是讲解了思想,即:依赖抽象(接口、标准……),而非实现(底层模块、代码……),才能扩展。
- 高层模块不依赖低层模块,两者都依赖抽象。
- 抽象不依赖细节、细节依赖抽象,即:针对接口编程,而非针对实现。
高层模块,不能直接依赖性质的调用底层模块,而是遵循接口规则来调用,这样就能避免高层依赖底层,替换底层相对轻松。同样,两者的实现要针对接口来实现。
比如:里氏替换,即子类对象能替换父类。因为子类要包括父类的功能,这样,才能满足扩展,而父类就是那个抽象。软件中所有子类替换父类而软件的行为不变,这样才可以在使用父类模块无需修改的情况下,扩展成具有子类的功能。
网友评论