5.1 MM请求修电脑
5.2 电话遥控修电脑
5.3 依赖倒置原则
可以把PC电脑理解成是大的软件系统,任何部件如CPU,内存,硬盘,显卡等都可以理解为程序中封装的类或程序集,由于PC易插拔(面向对象中叫做强内聚,松耦合)的方式,那么不管哪一个出问题,都可以在不影响别的部件的前提下进行修改或替换,
高层模块不应该依赖低层模块,两个都应该依赖抽象,除了约定的接口,正如电脑主板坏了其它部件就没有用了吗?
抽象不应该依赖细节,细节应该依赖抽象,说白了就是要针对接口编程,不要对实现编程,
5.4 里氏代换原则
子类型必须能替换掉它们的父类型,
只有当子类可以替换掉父类,软件单位的功能不受到影响时,父类才能真正被复用,而子类也能够在父类的基础上增加新的行为,
由于子类型的可替换性才使得使用父类类型的模块在无需修改的情况下就可以扩展,
5.5 修收音机