概述
一个具体设计模式的好坏是由设计模式原则来判断的,设计模式原则就是面向对象思想的另一种表现形式,这种形式表现的更加的抽象,是站在软件设计的角度上描述的,面向对象思想的另一种表现形式为:对象、类、封装、继承和多态,这种形式比较具体,是站在编程实现的具体角度上描述的。
具体的设计模式原则有6类:接口隔离原则、开闭原则、依赖倒转原则、合成\聚合复用原则、迪米特法则(最小知识原则)和里氏代换原则。
设计模式原则
开闭原则
软件实体(类、模块、函数等等)应该可以扩展,但是不可修改。也就是说设计后的程序要具有良好的扩展能力,即软件功能的扩展可以只添加功能块,而不用或很少的修改原有类就可以实现扩展的能力。其实,这个就是面向对象比面向过程真正优越的地方,即扩展性好,这个是采用面向对象设计所要到达的最终目的。
迪米特法则
又叫最少知识原则,就是一个对象应当对其他对象有尽可能少的了解,换句话说就是一个对象要尽可能少的和另一个对象直接通信,那么要想通信了怎么办呢?要想通信应该建立适当的中间类使其联系。
接口隔离原则
接口隔离原则就是接口的功能要单一,不要一个接口中的内容太杂(谁和谁的联系不大),要建立最小的接口。单一原则主要针对的是类。一个类如果本身的行为就比较的混乱,那么通过某个接口管理这个类的接口内部也是非常的混乱的,所以,满足接口隔离原则的设计一定满足单一原则,所以,在这里不说单一原则,而是说成为接口隔离原则。
里氏代换原则
任何基类可以出现的地方,子类一定可以出现。
依赖倒置原则
依赖于抽象,不要依赖于具体,也就是说,要依赖于抽象进行编程,不要对实现进行编程,这样就降低了客户与实现模块间的耦合,解耦就是增加合适的缓冲区。
合成/聚合复用原则
尽量使用合成或者聚合的方式实现复用,尽量不要应用类持续(继承)的方式实现复用。
总结
上述的原则基本具体的解释不怎么多,但是,我们要从根上理解设计模式原则是什么,设计模式原则是面向对象思想在程序设计方面的一种表现,而面向对象的思想的目的就是可维护性、可扩展性、可修改性和灵活性好。