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();
        }
Exemple #3
0
        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();
        }
Exemple #4
0
        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();
        }