SOLID原则
倡导者
Robert C. Martin,世界级编程大师,设计模式和敏捷开发先驱,敏捷联盟首任主席,C++ Report前主编。

S (Single Responsibility) 单一责任原则

设计的东西要尽量只有一个职责。因为如果同时负责多项职责的话,如果其中的一个职责变更了,可能会在自己没有意识到的时候影响到了别的职责。
目的
防止在修正一个功能的时候影响到别的功能。

O (Open-Closed) 开放,关闭原则

当需要对功能进行增加的时候,不要通过修正现在的功能来实现,而要通过增加新的方法等来实现。
目的
通过这样可以最大限度的影响现有系统。

L (Liskov Substitution) Liskov替换原则

子类一定要是可以替换父类的功能。
目的
父类和子类都能使用同一个方法,从而保持一致性。

I (Interface Segregation) 接口分离原则

代码中仅实现需要的功能,不画蛇添足。
目的
功能最小化,且没有以外的功能。

D (Dependency Inversion) 依存反转原则

当两个有调用关系的类,调用方和被调用方尽量通过接口定义,不要有太多的细节。
目的
消除类和类之间的耦合。·