读书人

具体设计形式的总结

发布时间: 2013-02-19 11:11:40 作者: rapoo

具体设计模式的总结
引言

之前本想着自己把每一个设计模式都总结出来,写成博客共享给大家,相应的笔记总结写了,但是拿不出手,写的很不好,所以,就没有继续发表这个系列的博客,本篇博客是自己对于每个具体设计模式的简要总结,希望没有误导你。

概述

类的封装设计仅仅是我们编程的第一步,对类进行对象实例化,并在其数据成员上实施操作才是我们完成现实人物的根本。虽然类的封装设计是编程的第一步,但是后者是它的指导。设计模式是类的封装设计的方法,所以,我们在学习设计模式的时候应该和“后者”联系起来。

创建型模式 概述

创建型模式具体包括:工厂模式(简单工厂模式、工厂方法模式和抽象工厂模式)、单例模式、原型模式和创建者模式。创建型模式与对象的创建有关,在这里我们应该以“对象的创建”为基准点来学习具体的设计模式。

具体模式

工厂模式

对于不稳定的对象,即:该块需求易变,且变得时候会影响该对象的情况,使用工厂模式,具体运用那种工厂模式,还要看具体情况(变的程度等等)。

创建者模式

对于稳定的对象,但是创建比较复杂的对象,即:该块需求不宜变,该对象的创建可以通过其他对象的组合完成的情况,使用创建者(生成器)模式。

原型模式

对于稳定而同类大量的对象,即:该块需求不宜改变,且要求创建的对象都是同类的对象的情况,使用原型模式

单例模式

对于稳定而唯一的对象,即:该块需求不宜改变,且要求只能创建一个对象的情况,使用单例模式。

结构型模式 概述

结构型模式具体包括:外观模式、装饰模式、代理模式、适配器模式、桥接模式、组合模式和享元模式。在学习结构型模式时,我们应该以“结构”两字为基准点来学习,结构具体变现在两个方面:块和对接

具体模式

外观模式

对接。对于已存在的多个块使用不方便的情况,我们可以把多个块的对接由原来的多个对接合成一个对接。

装饰模式

块。应用于块内功能的增加,在一定条件下比继承要好的多。

代理模式

对接。增加对接处的功能,达到隐藏了真正块的功能。

适配器模式

对接。把原来的对接变成更加方便的对接。

桥接模式

块。应用于块内多对多的变化,即:一个块内多个分支变化,每个分支多个具体变化,分支和变化存在着大量重复,此时可以运用桥接模式。

组合模式

块。块内表现出层次性,且层与层的结构大致相同,即:实例后结构类似树(数据结构),这种情况可以采用组合模式。

享元模式

块。创建对象多时,应尽量减少所创建对象的大小,在块内应提出内蕴状态。内方法和属性的分离,即:把之前的类的方法和属性进行分离,这样创建大量该对象时,可以共用一个方法对象。

行为型模式 概述

行为型模式具体包括:观察者模式、。行为型模式主要的是在“行为”两个字,为达到这种行为而采用的方法。

具体模式

观察者模式

实现一对多的目的。

策略模式

把复杂算法的方法拆分为简单算法的方法。

模板方法模式

公共方法应该提到父类作为模板。

命令模式

方法中的请求和实现要分开。

迭代器模式

提供一种可以访问聚合对象各个元素,且不暴露该对象内部的表示的方法。

中介者模式

把一对多变成了一对一再对多,通过一对一最终达到一对多的目的。

备忘录模式

为保存一个对象的内部状态所提供的方法。

解释器模式

为使用频率高的复杂的功能提供一个简单的应用的句子。

状态模式

实现将一个复杂的状态判断方法转移成多个。

职责链模式

提供一种方法,是对象和对象之间可以建立一条链。

访问者模式

为应对做一件事的步骤不变,但每步的具体内部千查万别的情况提供方法。

总结

每个具体模式都简短的概括了一下,看的时候要联系一些具体的情况,具体的设计模式都是针对具体的某种情况,另外,学习设计模式时,应该想一想数据库的三级模式和二级映射。

读书人网 >软件开发

热点推荐