状态模式
Posted chester.chen
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了状态模式相关的知识,希望对你有一定的参考价值。
状态模式主要解决的是当控制一个对象状态的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同状态的一系列类中,可以把复杂的判断逻辑简化。
UML图:
示例代码:
public class Context { public State state { get; set; } public Context(State state) { this.state = state; } public void Request() { state.Hanlder(this); } }
public abstract class State { public Context Context { get; set; } public abstract void Hanlder(Context context); }
class StateA : State { public override void Hanlder(Context context) { context.state=new StateB(); } }
class StateB:State { public override void Hanlder(Context context) { context.state = new StateA(); } }
以上是关于状态模式的主要内容,如果未能解决你的问题,请参考以下文章