Пример #1
0
        static void Main(string[] args)
        {
            // Setup context in a state
            Printer c = new Printer(new StateReady());

            // Complete print job
            c.Print();
            c.Print();
            c.Print();
            c.Print();

            c = new Printer(new StateReady());

            // Cancel after start
            c.Print();
            c.Cancel();

            c = new Printer(new StateReady());
            // Cancel in printing
            c.Print();
            c.Print();
            c.Cancel();

            // Wait for user
            Console.Read();
        }
Пример #2
0
 public override void Handle(Printer context)
 {
     Console.WriteLine("Printing ...");
     context.State = new StatePrintEnd();
 }
Пример #3
0
 public override void Cancel(Printer context)
 {
     Console.WriteLine("Canceling ...");
     context.State = new StatePrintEnd();
 }
Пример #4
0
 public override void Handle(Printer context)
 {
     Console.WriteLine("Print Ended \n");
     context.State = new StateReady();
 }
Пример #5
0
 public abstract void Handle(Printer context);
Пример #6
0
 public virtual void Cancel(Printer context)
 {
 }
Пример #7
0
 public override void Handle(Printer context)
 {
     Console.WriteLine("Print Started");
     context.State = new StatePrintStart();
 }
Пример #8
0
 public override void Handle(Printer context)
 {
     Console.WriteLine("Ready to print");
     context.State = new StatePrinting();
 }