public override void Write(Work w) { if (w.Finish) { w.SetState(new RestState()); w.Write(); } else { if (w.Hour < 21) { Console.WriteLine("当前时间;{0}点加班工作", w.Hour); } else { w.SetState(new SleepingState()); w.Write(); } } }
public override void Write(Work w) { if (w.Hour < 13) { Console.WriteLine("当前时间;{0}点中午工作", w.Hour); } else { w.SetState(new AferNoonState()); w.Write(); } }
public override void Write(Work w) { if (w.Hour < 17) { Console.WriteLine("当前时间;{0}点下午工作", w.Hour); } else { w.SetState(new EveningState()); w.Write(); } }
static void Main(string[] args) { #region demo //Context c=new Context(new ConcreteStateA()); //c.Request(); //c.Request(); //c.Request(); #endregion Work ww = new Work(); ww.Hour = 9; ww.Write(); ww.Hour = 13; ww.Write(); ww.Hour = 15; ww.Write(); ww.Finish = false; ww.Hour = 18; ww.Write(); ww.Hour = 20; ww.Write(); ww.Hour = 22; ww.Write(); Console.Read(); }