一、单一职责原则(Single-Responsibility Principle):就一个类而言,应该仅有一个引起它变化的原因。
二、开放封闭原则(Open-Closed Principle):是说软件实体(类、模块、函数等等)应该可以扩展的,但是不可修改。
三、依赖倒置原则(Dependency-Inversion Principle):抽象不应该依赖细节,细节应该依赖于抽象。
四、里氏替换原则(Liskov-Substituent Principe.):子类必须能够替换掉它们的父类。其意思:子类必须具有父类的所有特性。
五、接口隔离原则(Interface-Segregation Principle):多个专用接口优于一个单一的通用接口。其意思:不要将所有的方法都添加到一个接口中。