1 单一职责原则SRP:所谓职责是指类变化的原因。如果一个类有多于一个的动机被改变,那么这个类就具有多于一个的职责。而单一职责原则就是指一个类或者模块应该有且只有一个改变的原因。
2 开放封闭原则OCP:软件实体应该是可扩展,而不可修改的。也就是说,对扩展是开放的,而对修改是封闭的
3 依赖倒置原则 DIP
A.高层次的模块不应该依赖于低层次的模块,他们都应该依赖于抽象。
B.抽象不应该依赖于具体实现,具体实现应该依赖于抽象。
4 接口隔离原则 ISP: 客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上
5 Liskov替换原则LSP: OCP作为OO的高层原则,主张使用“抽象(Abstraction)”和“多态(Polymorphism)”将设计中的静态结构改为动态结构,维持设计的封闭性