单一职责原则:
一个类应该只有一个引起它变化的原因,也就是说,一个类应该只有一个职责。如果一个类有多个职责,那么一个职责的变化可能就削弱或抑制了这个类完成其他职责的能力。所以在构造一个类时,应该将类的不同职责分离至多个类中,确保引起该类变化的原因只有一个。
开闭原则:
软件组成实体应该是可扩展的,但是不可修改。开放-封闭原则认为应该试图设计永远也不需要改变的模块。可以添加新代码来扩展系统的行为,不能对已有代码进行修改。
里氏替换原则:
子类应当可以替换父类并可以出现在父类能够出现的任何地方。
依赖倒置原则:
在进行业务设计时,与特定业务有关的依赖关系应该尽量依赖接口和抽象类,而不是具体类。
接口分离原则:
采用多个与特定客户类有关的接口比采用一个通用的涵盖多个业务方法的接口好。
组合重用原则:
能用组合实现的地方,尽量用组合来实现。
迪米特原则:
一个对象应该对于其他对象有最少的了解。