1、单一职责原则(SRP) 一个类应该仅有一个引起它变化的原因。2、开放封闭原则(OCP) 类模块应该是可扩展的,当是不可修改(对扩展开放,对更改封闭)3、Liskov替换原则(LSP) 子类必须能够替换它们的基类4、依赖倒置原则(DIP) 高层模块不应该依赖于底层模块,二者都应该依赖于抽象。 抽象不应该依赖于实现细节,实现细节应该依赖于抽象。5、接口隔离原则(ISP) 不应该强迫客户程序依赖于它们不用的方法。