模式是在特定环境下人们解决某类重复出现问题的一套成功或有效的解决方案。
对于面向对象软件系统的设计而言,在支持可维护性地同时,提高系统的可复用性是个至关重要的问题,如何同时提高一个软件系统的可维护性和
可复用性是面向对象设计需要解决的核心问题之一。在面向对象设计中,可维护性的复用是以设计原则为基础的。
面向对象设计原则为支持可维护性复用而诞生,这些原则蕴含在很多设计模式中,它们是从许多设计方案中总结出的指导性原则。
设计模式7大原则如下:
单一原则(针对类,实现高内聚,低耦合的指导方针):一个类只负责一个功能领域中的相应职责,或者这样定义,就一个类而言,应该只有一个引起它变化的原因;
开闭原则(目标):一个软件实体(在开闭原则的定义里,软件实体可以指一个软件模块,一个有多个类组成的软件结构或一个独立的类)必须对扩展开放,对修改关闭;
里氏代换原则(针对类,基础):所有引用基类的地方,必须能透明的使用其子类的对象;
依赖倒转原则(手段):抽象不应该依赖于细节,细节应该依赖于抽象,换句话说,应该针对接口编程,而不是针对实现编程;
接口隔离原则(技巧):使用多个专门的接口,而不是用一个总接口,即客户端不应该依赖于哪些不相干的接口;
合成复用原则(技巧):尽量使用对象组合,而不是集成来达到复用的目的;
迪米特原则(技巧):一个软件实体应当尽可能少的与其他软件实体发生相互作用;