在流程涉及中,每个节点的操作得根据节点的命令或者结果决定自己应该做什么,这一行为类似于涉及模式里面的状态模式。
状态模式:允许一个对象在其内部状态改变的时候改变它的行为
public abstract void Handle(Context context);
}
ContextState类,具体状态,每一个子类实现一个与Context的一个状态相关的行为。
class ConcreteStateA:State
{
pubic override void Handle(Context context){
context.State=new ConcreteStateB();
}
}
Class ConcreteStateB:State{
public override void Handle(Context context){
Console.writeline("测试");
}
}
Context类,维护一个Concrete子类的实例,这个实例定义当前的状态
class Context{
private State state;
public Context(State state){
this.state=state;
}public State State{
get{
return state;
}
set{
state=value;
Console.WriteLine("当前状态:"+state.GetType().Name);
}
}public void Request(){
state.Handle(this);
}}
2350

被折叠的 条评论
为什么被折叠?



