private static void ChainOfResponsibilityDemo() { Approver larry = new DesignPatterns.ChainOfResponsibility.Director(); Approver sam = new VicePresident(); Approver tammy = new DesignPatterns.ChainOfResponsibility.President(); larry.SetSuccessor(sam); sam.SetSuccessor(tammy); // Generate and process purchase requests Purchase p = new Purchase(2034, 350.00, "Assets"); larry.ProcessRequest(p); p = new Purchase(2035, 32590.10, "Project X"); larry.ProcessRequest(p); p = new Purchase(2036, 122100.00, "Project Y"); larry.ProcessRequest(p); }
/// <summary> /// Entry point into console application. /// </summary> public static void Run() { // Setup Chain of Responsibility Approver director = new Director(); Approver vicePresident = new VicePresident(); Approver president = new President(); director.SetSuccessor(vicePresident); vicePresident.SetSuccessor(president); // Generate and process purchase requests Purchase p = new Purchase(2034, 350.00, "Assets"); director.ProcessRequest(p); p = new Purchase(2035, 32590.10, "Project X"); director.ProcessRequest(p); p = new Purchase(2036, 122100.00, "Project Y"); director.ProcessRequest(p); // Wait for user Console.ReadKey(); }
static void Main(string[] args) { // Setup Chain of Responsibility Approver larry = new Director(); Approver sam = new VicePresident(); Approver tammy = new President(); larry.SetSuccessor(sam); sam.SetSuccessor(tammy); // Generate and process purchase requests Purchase p = new Purchase(2034, 350.00, "Assets"); larry.ProcessRequest(p); p = new Purchase(2035, 32590.10, "Project X"); larry.ProcessRequest(p); p = new Purchase(2036, 122100.00, "Project Y"); larry.ProcessRequest(p); Console.WriteLine("Press any key to exit..."); Console.Read(); }