Exemplo n.º 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();
        }
Exemplo n.º 2
0
 public override void Handle(Printer context)
 {
     Console.WriteLine("Printing ...");
     context.State = new StatePrintEnd();
 }
Exemplo n.º 3
0
 public override void Cancel(Printer context)
 {
     Console.WriteLine("Canceling ...");
     context.State = new StatePrintEnd();
 }
Exemplo n.º 4
0
 public override void Handle(Printer context)
 {
     Console.WriteLine("Print Ended \n");
     context.State = new StateReady();
 }
Exemplo n.º 5
0
 public abstract void Handle(Printer context);
Exemplo n.º 6
0
 public virtual void Cancel(Printer context)
 {
 }
Exemplo n.º 7
0
 public override void Handle(Printer context)
 {
     Console.WriteLine("Print Started");
     context.State = new StatePrintStart();
 }
Exemplo n.º 8
0
 public override void Handle(Printer context)
 {
     Console.WriteLine("Ready to print");
     context.State = new StatePrinting();
 }