1、开放/封闭原则
该原则规定,类或对象及其方法对于扩展来说,应该是开放的,但是对于修改来说,应该是封闭的。
2、控制反转原则
该原则规定,高层次的模块不应该依赖于低层次的模块,它们应该都依赖于抽象。该原则建议任何两个模块都不应以紧密方式相互依赖。事实上,基本模块和从属模块应当在它们之间提供一个抽象层来耦合。
3、接口隔离原则
该原则规定,客户端不应该依赖于它们不需要使用的接口。
4、单一职责原则
该原则规定,类的职责单一,引起类变化的原因单一。一个类可以因为所需行为的变化而进行修改,但是如果一个类由于两个因素而改变,那么该类就应该进行相应的分割。
5、替换原则
该原则规定,派生类必须能够完全取代基类。