1.单一职责原则:一个方法/类/类库/项目等只负责一件事
2.里式替换原则:任何使用基类的地方,都可以透明的使用其子类
继承+透明
(1)父类有的,子类是必须有的;如果出现了子类没有的东西,那么就应该断掉继承
(2)子类可以有自己的属性和行为,子类出现的地方,父类不一定能代替
(3)父类实现的东西,子类就不要再写了(不要用new隐藏),有时候会出现意想不到的情况,在一些情况下,如果想修改父类的行为,通过abstract/virtual
3.依赖倒置原则
4.接口隔离原则
5.迪米特法则
6.开闭原则