要依赖抽象,不要依赖具体类
不能让高层组件依赖底层组件
不管是高层还是底层组件,都应该依赖于抽象
变量不可以持有具体类的引用,使用工厂来避开这样的做法
不要让类派生自具体类,要派生自一个接口或者抽象类
不要覆盖基类中已实现的方法,如果覆盖基类已实现的方法,那么你的基类就不是一个真正适合被继承的抽象,基类中已实现的方法,应该由所有的子类共享。
要依赖抽象,不要依赖具体类
不能让高层组件依赖底层组件
不管是高层还是底层组件,都应该依赖于抽象
变量不可以持有具体类的引用,使用工厂来避开这样的做法
不要让类派生自具体类,要派生自一个接口或者抽象类
不要覆盖基类中已实现的方法,如果覆盖基类已实现的方法,那么你的基类就不是一个真正适合被继承的抽象,基类中已实现的方法,应该由所有的子类共享。