为期1月份的设计模式之旅已走完,我们今天一起来总结咱们前面的东西;其实设计模式分为:创建模式、结构模式、行为模式。它们分别是对应那些呢?
创建型模式:单例模式、抽象工厂模式、建造者模式、工厂模式、原型模式。
结构型模式:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。
行为型模式:模版方法模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模...
分类:
其他好文 时间:
2015-02-27 11:59:09
阅读次数:
174
<?php
/**
*3.4状态模式
*定义:
*当一个对象的内在状态改变时允许改变其行为,这个对象看
*起来像是改变了其类。
*角色:
*1.抽象状态类
*职责:定义一个接口以封装与Context的一个特定状态
*相关的行为。
*2.具体状态类
*职责:每一个具体的状态类实现一个与Context的一个..
分类:
其他好文 时间:
2015-02-17 23:42:19
阅读次数:
147
<?php
/**
*3.3命令模式
*定义:
*讲一个请求封装为一个对象,从而是你可用不同的请求对客
*户进行参数化;对请求排队或记录日志,以及支持可撤销的
*操作。
*角色:
*1.抽象Command类
*职责:用来声明执行操作的接口。
*2.具体Command类
*职责:将一个接收者对象绑定于一个..
分类:
其他好文 时间:
2015-02-17 23:42:08
阅读次数:
136
<?php
/**
*3.5职责链模式
* 定义:
* 使多个对象都有机会处理请求,从而避免请求的
* 发送者和接受者直接的耦合关系。将这个对象连
* 成一条链,并沿着这条链传递该请求,直到有一
* 个对象处理它为止。
* 角色:
* 1.抽象Handler类
* 职责:定义一个处..
分类:
其他好文 时间:
2015-02-17 23:42:02
阅读次数:
161
<?php
/**
*3.2观察者模式
*定义:
* 它定义了一种一对多的依赖关系,让多个观察者
* 对象同时监听某一个主题对象(通知者)。这个
* 主题对象在状态发生变化时,会通知所有观察者
* 对象,使它们能够自动更新自己。
*角色:
* 1.抽象通知者
* 职责:它把..
分类:
其他好文 时间:
2015-02-17 23:41:05
阅读次数:
138
<?php
/**
*3.7备忘录模式
* 定义:
* 在不破坏封装性的前提下,捕获一个对象的内
* 部状态,并在该对象之外保存这个状态,这样
* 以后就可将该对象恢复到原先保存的状态。
*
*角色:
* 1.发起人(Originator)类
* 职责:负责创建一个备忘录Memento,用以..
分类:
其他好文 时间:
2015-02-17 23:40:26
阅读次数:
168
<?php
/**
*3.6模版方法模式
* 定义:
* 定义一个操作中的算法的骨架,而将一些步骤延
* 迟到子类中。模版方法是的子类可以不改变一个
* 算法的结构即可重定义该算法的某些特定步骤。
* 角色:
* 1.抽象模版方法类
* 职责:定义并实现了一个模版方法。这个..
分类:
其他好文 时间:
2015-02-17 23:40:18
阅读次数:
162
<?php
/**
*3.1策略模式
*定义:
*它定义了算法家族,分别封装起来,让它们之间可以互相
*替换,此模式让算法的变化,不会影响到使用算法的客户。
*角色:
*1.抽象算法类
*2.具体算法类
*3.上下文类
*优点:
*1.提供了挂历相关算法族的办法。策略类的等级结构定义
*了一个算..
分类:
其他好文 时间:
2015-02-17 23:39:58
阅读次数:
140
<?php
/**
*3.8中介者模式
* 定义:
* 用一个中介对象来封装一系列的对象交互。中介
* 者使各对象不需要显式的相互引用,从而使其耦
* 合松散,而起可以独立的改变它们之间的交互。
*
* 角色:
* 1.抽象中介者(Mediator)类
* 职责:定义了同事对象到中..
分类:
其他好文 时间:
2015-02-17 23:39:14
阅读次数:
128
目前常用的设计模式可分为三类:创建型模式、结构型模式、行为型模式创建型模式创建型模式致力于如何将对象的创建进行封装,以应对不断变化的对象创建工作创建型模式主要包含以下5种模式1.单例模式单例模式确保一个类对外只公开一个对象实例,同时提供一个全局的访问点。适用于节约系统资源,要求系统只有一个对象实例的...
分类:
其他好文 时间:
2015-02-05 19:57:50
阅读次数:
219