State 状态模式(行为型模式)动机(Motivation)在软件构建过程中,某些对象的状态如果改变,其行为也会随之而发生变化,比如文档处于只读状态,其支持的行为和读写状态的行为就可能完全不同。如何在运行时根据对象的状态来透明地更改对象的行为?而不会为对象操作和状态转换之间引入紧耦合?意图(Int...
分类:
其他好文 时间:
2015-09-02 01:52:07
阅读次数:
139
"; $context->state = new Concrete_state_B(); }}class Concrete_state_B extends State { public function handle(Context $context) { e...
分类:
其他好文 时间:
2015-09-01 20:02:36
阅读次数:
227
状态模式: 允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类。状态模式将状态封装成独立的类,并将动作委托到代表当前状态的对象。状态模式使用组合通过简单引用不同的状态对象来造成类改变的假象。
状态模式和策略模式有相同的类图,但它们的意图不同,策略模式会用行为和算法来配置Context类。状态模式允许Context随着状态的改变而改变其行为。
源代码:
package s...
分类:
其他好文 时间:
2015-09-01 10:50:14
阅读次数:
190
概述状态模式用于解决系统中复杂对象的状态转换以及不同状态下行为的封装问题。当系统中某个对象存在多个状态,这些状态之间可以进行转换,而且对象在不同状态下行为不相同时可以使用状态模式。状态模式将一个对象的状态从该对象中分离出来,封装到专门的状态类中,使得对象状态可以灵活变化,对于客户端而言,无须关心对象状态的转换以及对象所处的当前状态,无论对于何种状态的对象,客户端都可以一致处理。定义状态模式(Stat...
分类:
其他好文 时间:
2015-08-28 15:41:17
阅读次数:
149
状态模式,又称状态对象模式(Pattern of Objects for States),状态模式是对象的行为模式。
状态模式允许一个对象在其内部状态改变的时候改变其行为。这个对象看上去就像是改变了它的类一样。
定义与结构
GOF《设计模式》中给状态模式下的定义为:允许一个对象在其内部状态改变时改变它的行为。这个对象看起来似乎修改了它的类。看起来,状态模式好像...
分类:
编程语言 时间:
2015-08-20 09:11:26
阅读次数:
198
定义:允许一个对象的内部状态改变时改变它的行为。对象看起来似乎修改了它的类。本质:根据状态来分离和选择行为。状态:对象实例的属性值。行为:对象的功能,大多对应到方法上。状态模式的功能:分离状态的行为,通过维护状态的变化,来调用不同装态对应的不同功能。状态和行为是相关联的,可以描述为:状态决定行为。(...
分类:
编程语言 时间:
2015-08-17 15:27:45
阅读次数:
129
runloop作用
使程序一直运行并接收用户的输入
决定程序在何时处理哪些事件
调用解耦(Message Queue)
节省CPU时间(当程序启动后,什么都没有执行的话,就不用让CPU来消耗资源来执行,直接进入睡眠状态)
模式
RunLoop 在同一段时间只能且必须在一种特定的模式下运行
如果要更换 Mode,必须先停止当前的 Loop,然后再重新启动 Loop
Mode 是保证滚动流畅的关键
NS...
分类:
其他好文 时间:
2015-08-16 02:10:09
阅读次数:
179
1.特点:当对象内状态改变而执行不同操作时考虑,状态转移逻辑不在if/switch中,而在各子类之间,增/改状态和状态转换较容易。2.概念:当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。3.类图:4.程序实现:/// /// Context类,维护一个Concret...
分类:
其他好文 时间:
2015-08-14 11:12:29
阅读次数:
90
今天我们来探讨一下设计模式中的状态模式。 假设我们需要完成这样一个需求,设计一个糖果机程序: 顾客需要往糖果机投入硬币,然后摇动糖果机把手,糖果机再给顾客吐糖果。 这里顾客有以下动作: 1)投硬币 2)取...
分类:
其他好文 时间:
2015-08-13 16:03:54
阅读次数:
134
状态模式,又称状态对象模式(Pattern of Objects for States),状态模式是对象的行为模式。
状态模式允许一个对象在其内部状态改变的时候改变其行为,这个对象看上去就像是改变了它的类一样。
状态模式的结构
用一句话来表述,状态模式把所研究的对象的行为包装在不同的状态对象里,每一个状态对象都属于一个抽象状态类的一个子类。状态模式的意图是让一个对象在其内部状态改变的时候,其...
分类:
其他好文 时间:
2015-08-12 14:37:55
阅读次数:
145