public static void Run() { PurchaseRequest req = new PurchaseRequest(60000, "Purchase PC for employee. "); Approver approver = new Director("刘主任"); Approver approver1 = new President("张董事"); Approver approver2 = new VicePresident("王副董"); Approver approver3 = new Congress("董事会"); approver.SetSuccessor(approver2); approver1.SetSuccessor(approver3); approver2.SetSuccessor(approver1); approver.HandleRequest(req); }
static void Main() { Approver Sameer = new President(); Approver Abhi = new CEO(); Approver Rahul = new Manager(); Rahul.SetSuccessor(Sameer); Sameer.SetSuccessor(Abhi); // Generate and process purchase requests Project p = new Project(1, 350.00, "Test Postponed"); Rahul.ProcessRequest(p); p = new Project(2, 32590.10, "Annual Function"); Rahul.ProcessRequest(p); p = new Project(3, 122100.00, "Renovation of Classes"); Rahul.ProcessRequest(p); Console.ReadKey(); }
static void Main(string[] args) { Approver larry = new MiddleManager(); Approver bob = new VicePresident(); Approver joe = new President(); Approver end = new EndOfChain(); larry.SetSuccessor(bob); bob.SetSuccessor(joe); joe.SetSuccessor(end); Purchase purchase1 = new Purchase { Amount = 100, Number = 1, Purpose = "R&D (Rest&Darts)" }; Purchase purchase2 = new Purchase { Amount = 5000, Number = 2, Purpose = "Moose hunting" }; Purchase purchase3 = new Purchase { Amount = 1000000, Number = 3, Purpose = "Bribery" }; Console.WriteLine("Response for {0}: {1}", purchase1.ToString(), larry.ProcessRequest(purchase1)); Console.WriteLine("Response for {0}: {1}", purchase2.ToString(), larry.ProcessRequest(purchase2)); Console.WriteLine("Response for {0}: {1}", purchase3.ToString(), larry.ProcessRequest(purchase3)); Console.ReadLine(); }