面向对象程序设计:
抽象 封装 继承 多态
单一职责原则:就一个类而言,应该仅有一个引起它变化的原因。
开放封闭原则:软件实体应该可以扩展,但是不可修改。
所有的设计模式都是对不同的可变性进行封装,从而使系统在不同的角度上达到开发封闭原则。
依赖倒转原则:A 高层不应该依赖低层,两个都应该依赖抽象。
B 抽象不应该依赖细节,细节应该依赖抽象。
里氏代换原则:子类型必须能够替换掉它的父类型,is a关系。
迪米特法则:如果两个类不必彼此直接通信,那么这两个类就不应发生直接的相互作用,如果其中一个类需要调用另一个类的某个方法,就通过第三者转发这个调用。
接口隔离原则:应该给客户端提供尽可能小的接口,而不要提供大接口。
合成聚合复用原则:要尽量使用合成聚合,而不要使用继承。