.net设计模式实例之状态模式(State Pattern)2011-04-12 博客园 灵动生活一、状态模式简介(Brief Introduction)状态模式(State Pattern),当一个对象的内在状态改变时允许改变其行为,这个对象 看起来像是改变了其类。二、解决的问题(What To Solve)状态模式主要解决的是当控制一个对象状态装换的条件表达式过于复杂时的情况。把状态 的判断逻辑转移到表示不同状态的一系列类中,可以把复杂的判断逻辑简单化。当一个对象行为取决于它的状态,并且它必须在运行时刻根据状态改变它的行为时,就可 以考虑使用状态模式了。三、状态模式分析(Analysis)1、状态模式结构

Context类:维护一个ConcreteState子类的一个实例,这个实例定义当前的状态。State类:抽象状态类,定义一个接口以封装与Context的一个特定状态相关的行为。ConcreteStateA,ConcreteStateB,ConcreteStateC类:具体状态类,每一个子类实现一个 与Context的一个状态相关的行为。