(十九)备忘录模式
备忘录模式目的是保存一个对象的某个状态,在适当的时候恢复这个对象。
(二十)状态模式
状态模式的意义是将表示对象状态的逻辑分散到代表状态的不同类中。为了处理状态间的迁移,可以让主对象包含一组状态的引用。或者在状态迁移的调用中,将主对象传递给状态改变的类。也可以让状态类的信息提供者仅仅给出下一个状态,而不更新主对象。无论如何管理状态迁移,状态模式都会通过将对象的不同状态操作,分散到一组类集合中,从而简化代码。...
分类:
编程语言 时间:
2014-07-14 18:06:52
阅读次数:
415
状态模式(state pattern) 详解本文地址: http://blog.csdn.net/caroline_wendy状态模式(state pattern): 允许对象在内部状态改变时改变它的行为, 对象看起来好像修改了它的类.建立Context类, 包含多个具体状态(concrete state)类的组合, 根据状态的不同调用具体的方法, state.handle(), 包含set\ge...
分类:
其他好文 时间:
2014-07-12 23:55:20
阅读次数:
385
状态模式(state pattern) 未使用状态模式 详解本文地址: http://blog.csdn.net/caroline_wendy状态模式可以控制状态的转换, 未使用设计模式时, 程序会非常繁杂.具体方法:1. 状态转换/**
* @time 2014年7月11日
*/
package state;
/**
* @author C.L.Wang
*
*/
public cl...
分类:
其他好文 时间:
2014-07-12 23:32:37
阅读次数:
243
状态模式:状态模式的意图是,允许一个对象在其内部状态改变时,改变它的行为。看起来就像是改变了它的类一样。主要解决的是当控制一个对象状态转换的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同的一系列类当中,可以把复杂的逻辑判断简单化。类图如下图所示State类,抽象状态类,定义一个接口以封装...
分类:
编程语言 时间:
2014-07-07 00:08:29
阅读次数:
406
//state.h#ifndef__STATE_H__#define__STATE_H__#include"context.h"#includeusingnamespacestd;typedefenum{CHILDREN=1,PRIMARY_SCHOOL_STUDENT,MIDDLE_SCHOOL_...
分类:
编程语言 时间:
2014-06-26 20:45:10
阅读次数:
250
一、状态模式状态模式,当一个对象的内在状态发生改变时允许改变其行为行为,这个对象像是改变了其子类。状态模式主要解决的是当控制一个对象状态转换的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同的状态的一系列类当中,可以把复杂的判断逻辑简化。当然,如果这个状态判断比较简单,那就没有必要用“状态...
分类:
其他好文 时间:
2014-06-26 12:35:41
阅读次数:
259
状态模式:允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类。
一个对象的行为取决于一个或多个动态变化的属性,这样的属性叫做状态,这样的对象叫做有状态的(stateful)对象,这样的对象状态是从事先定义好的一系列值中取出的。当一个这样的对象与外部事件产生互动时,其内部状态就会改变,从而使得系统的行为也随之发生变化。
组成:
环境类(Context): 它定...
分类:
其他好文 时间:
2014-06-26 07:03:53
阅读次数:
180
*状态模式(State):当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。状态模式主要解决的是当控制一个对象状态转换的条件表达式过于复杂的时候,吧状态判断逻辑独立到一系列的类中,是复杂的逻辑简单化。 Work work = new Work(); ...
分类:
其他好文 时间:
2014-06-15 06:45:17
阅读次数:
239
一、设计模式的分类
总体来说设计模式分为三大类:
创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。
结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。
行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式...
分类:
其他好文 时间:
2014-06-14 14:26:54
阅读次数:
279