static void Main(string[] args) { Context context = new Context(); context.Handle(); context.Handle(); context.Handle(); context.Handle(); Console.Read(); }
static void Main(string[] args) { Context context = new Context(); context.SetState(new ConcreteStateA(context)); context.Handle(5); context.Handle(20); context.Handle(30); context.Handle(4); context.Handle(6); }
static void Main(string[] args) { Context context = new Context(); //先初始化一个拥有者Context的对象 context.SetState(new ConcreteStateA(context)); //通过调用SetState()的方法 context.Handle(5); //默认是状态A,所以输出 状态A,而且5>10,下一级还是输出 状态A context.Handle(20); //输出 状态A,但是20>10,下一级输出 状态B context.Handle(30); //输出 状态B,而且30>10,下一级输出 状态B context.Handle(4); //输出 状态B,但是4<10,下一级输出 状态A context.Handle(1); //输出 状态A,而且1<10,下一级输出 状态A Console.ReadKey(); }