首页 > 代码库 > 设计模式总结

设计模式总结

设计模式

一 设计模式的定义

设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结,使用设计模式是为了可重用代码、让代码更容易被他人理解并且保证代码的可靠性。

二 设计模式的组成

    设计模式一般包含模式名称、问题、目的、解决方案、效果等组成要素,其中关键要素是模式名称,以便我们更好地理解模式并且方便开发人员之间的交流,绝大多数模式都是根据其功能或者模式结构来命名的;问题描述了应该在何时使用模式,它包含了设计中存在的问题以及问题存在的原因;解决方案描述了一个设计模式的组成部分,以及这些组成部分之间的相互关系、各自的职责和协作方式,通常解决方案通过UML类图和核心代码进行描述;效果描述了模式优缺点以及在应用模式时应权衡的问题。

 

三 面向对象的几大基本原则

设计模式,其实是在尽量的遵循面向对象的几大基本原则。面向对象中,有几个基本原则,下面分别介绍下:

第一职责原则 

一个类只负责一个功能领域中的相应原则。或者可以定义为:就一个类而言,应该只哟一个引起它变化的原因。

开闭原则 

一个软件实体应当对扩展开放,对修改关闭。即软件实体应尽量在不修改原有代码的情况下进行扩展。

里氏代换原则 

所有引用基类(父类)的地方必须能透明的使用其子类的对象。

依赖导致原则 

抽象不应该依赖于细节,细节应当依赖于抽象。换言之,要针对接口编程,而不是针对实现编程。

接口隔离原则 

使用多个专门的接口,而不是使用单一的总接口,即客户端不应该依赖那些它不需要的接口。

合成服用原则 

尽量使用组合对象,而不是使用继承来达到复用的目的。

迪米特原则

一个软件实体应当尽可能少与其他实体发生相互作用。

 

四 设计模式的分类

从设计模式的用途上对模式进行划分,可以分成三类设计模式;第一类:创建型设计模式;第二类:结构性设计模式;第三类:行为型设计模式。

    

类型

模式名称

学习难度

使用频率

 

 

创建型模式

单例模式

简单

频繁

简单工厂模式

一般

一般

工厂方法模式

一般

一般

抽象工厂模式

稍难

较少

原型模式

稍难

较少

建造者模式

较少

 

 

 

结构型模式

适配器模式

简单

频繁

桥接模式

较少

组合模式

一般

频繁

外观模式

简单

频繁

享元模式

稍难

较少

代理模式

一般

频繁

装饰模式

一般

频繁

 

 

 

 

 

  行为型模式

职责链模式

一般

频繁

解释器模式

较少

迭代器模式

一般

频繁

中介者模式

一般

一般

备忘录模式

一般

较少

观察者模式

一般

频繁

状态模式

一般

频繁

策略模式

一般

频繁

模板方法模式

简单

频繁

访问者模式

较难

一般

命令模式

一般

频繁

 

 

 

下面给出每个设计模式的定义、相关类图

单例模式

    确保一个类只有一个实例,而且自行实例化并且向整个系统提供这个实例。


    

简单工厂模式

    定义一个工厂类,它可以根据参数的不同返回不同的实例,被创建的实例通常都具有共同的父类。


    

工厂方法模式

定义一个用于创建对象的接口,让子类决定将哪一个类实例化。

 

 

 

抽象工厂模式

    提供一个创建一系列相关或者相互依赖对象的接口,而无须指定实现他们具体的类。

 

 


由于时间关系,并没够一一总结。具体代码的列子,需要的可以联系我,我直接发邮件给你吧