一、单一职责原则【SINGLE RESPONSIBILITY PRINCIPLE】:一个类负责一项职责。
二、里氏替换原则【LISKOV SUBSTITUTION PRINCIPLE】:继承与派生的规则。
三、依赖倒置原则【DEPENDENCE INVERSION PRINCIPLE】:高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。即针对接口编程,不要针对实现编程。
四、接口隔离原则【INTERFACE SEGREGATION PRINCIPLE】:建立单一接口,不要建立庞大臃肿的接口,尽量细化接口,接口中的方法尽量少。
五、迪米特法则【LOW OF DEMETER】:低耦合,高内聚。
六、开闭原则【OPEN CLOSE PRINCIPLE】:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。
七、组合/聚合复用原则【Composition/Aggregation Reuse Principle(CARP) 】:尽量使用组合和聚合少使用继承的关系来达到复用的原则。