static void Main(string[] args) { Approver jello = new Manager("jello"); Approver jimmy = new VicePresident("jimmy"); Approver taffy = new President("taffy"); jello.NextApprover = jimmy; jimmy.NextApprover = taffy; //买打印机 PurchaseRequest request1 = new PurchaseRequest(500, "printer"); jello.ProcessRequest(request1); //买PC PurchaseRequest request2 = new PurchaseRequest(4000, "PC"); jello.ProcessRequest(request2); //买PCs PurchaseRequest request3 = new PurchaseRequest(8000, "PCs"); jello.ProcessRequest(request3); //买工作站 PurchaseRequest request4 = new PurchaseRequest(15000, "WorkStation"); jello.ProcessRequest(request4); 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); // Wait for user Console.ReadKey(); }
static void Main(string[] args) { Manager manager = new Manager(); VicePresident vicePresident = new VicePresident(); President president = new President(); manager.SetSuccessor(vicePresident); vicePresident.SetSuccessor(president); Expense expense = new Expense { Detail = "education", Amount = 1500 }; manager.HandleExpense(expense); Console.ReadLine(); }
static void Main(string[] args) { Approver larry = new Director(); Approver sam = new VicePresident(); Approver tammy = new President(); larry.SetSuccessor(sam); sam.SetSuccessor(tammy); 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.ReadKey(); }
static void Main(string[] args) { PurchaseRequest requestTelphone = new PurchaseRequest(4000.0, "Telphone"); PurchaseRequest requestSoftware = new PurchaseRequest(10000.0, "Visual Studio"); PurchaseRequest requestComputers = new PurchaseRequest(40000.0, "Computers"); Approver manager = new Manager("LearningHard"); Approver Vp = new VicePresident("Tony"); Approver Pre = new President("BossTom"); // 设置责任链 manager.NextApprover = Vp; Vp.NextApprover = Pre; // 处理请求 Console.WriteLine("\n\nRequest For : Telphone"); manager.ProcessRequest(requestTelphone); Console.WriteLine("\n\nRequest For : Visual Studio"); manager.ProcessRequest(requestSoftware); Console.WriteLine("\n\nRequest For : Computers"); manager.ProcessRequest(requestComputers); Console.ReadLine(); }