static public void Main() { State stateA = new ConcreteStateA(); State stateB = new ConcreteStateB(); Context context = new Context(stateA); context.Request(); //表现状态A的行为 context.SwitchSate(stateB); context.Request(); //表现状态B的行为 }