设计模式概览
如上图,设计模式主要分为创建型模式,结构型模式,行为型模式。
- 创建型模式:为了创建和初始化对象,根据对象的不同生存特征、不同的创建特征,将创建对象的过程进行抽象化设计
- 结构型模式:为解决怎样组装现有的类,设计它们的交互方式,良好的处理对象间的依赖关系,从而增强程序的扩展性、封装性、健壮性和性能
- 行为型模式:用于描述类或对象的交互以及职责划分,组织多个类或对象之间的相互协作关系,完成复杂的逻辑任务
设计模式六大原则
-
开闭原则
软件对象(方法,类以及模块)对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。简言之,是为了使程序的扩展性好,易于维护和升级。 -
里氏替换原则
任何父类可以出现的地方,子类一定可以出现。里氏替换原则是继承复用的基本约束,子类可在任何地方完全替换父类,且功能不受任何影响,而子类也能够在父类的基础上增加新的行为。里氏代换原则是对开闭原则的补充。实现开闭原则的关键步骤就是抽象化,而父类与子类的继承关系就是抽象化的具体实现,所以里氏代换原则是对实现抽象化的具体步骤的规范。 -
依赖倒转原则
上层模块不应该依赖底层模块,它们都应该依赖于抽象,抽象不应该依赖于细节,细节应该依赖于抽象。上下层模块都应该以抽象作为核心枢纽 -
接口隔离原则
建立定义单一的接口,避免定义宽泛的接口,尽量细化接口,接口中的方法尽量少。将一个接口拆分成多个接口,对类建立最小的依赖关系,提高内聚,减少对外交互。通过分散定义多个接口,可以预防外来变更的扩散,提高系统的灵活性和可维护性 -
迪米特法则
一个对象应该对其他对象保持最少知道的了解,尽量降低类与类之间的耦合,主要目标是降低类间的耦合。 -
合成复用原则
软件复用时,尽量使用对象组合或对象聚合的方式,而不用继承关系。
UML类图使用
UML类图主要用于描述软件对象的内容及对象间的关心,我们可利用UML类图来展示设计模式中的巧妙之处。
详细介绍可参考:UML类图