编写软件过程中,程序员面临着来自 耦合性,内聚性以及可维护性,可扩展性,重用性,灵活性等多方面的挑战,设计模式是为了让程序(软件),具有更好代码重用性(相同的功能代码不用多次编写)、可读性(编程规范性、便于其他程序员阅读与理解)、可扩展性(需要添加新功能时,费非常方便并且可维护)、可靠性(增加新功能时对原有的功能没有影响)使程序呈现高内聚(模块内部是非常紧密的,例如一个类或者一个方法只做一件事),低耦合(功能与功能之间是低耦合、例如有A功能和B功能,这两个功能的依赖性是低的,A功能模块出了问题,不会影响到B模块)的特性。
设计模式原则其实就是程序员在编程时,应当遵守的原则,也是各种设计模式的基础
设计模式常用的七大原则有:单一职责原则、接口隔离原则、依赖倒转(倒置)原则、里氏替换原则、开闭原则、迪米特法则、合成复用原则。
单一职责原则:对类来说的,即一个类应该只负责一项职责。如类A负责两个不同职责:职责1,职责2,当职责1需求变更而改变A时,可能造成职责2执行错误,所以需要将类A的粒度分解为 A1,A2两个类



