public void ProcessRequest() { var handler1 = new ConcreteHander1(); var handler2 = new ConcreteHandler2(); handler2.SetSetSuccessor(handler1); handler1.ProcessRequest(20); }
/// <summary> /// 责任链模式. /// </summary> private static void ChainCommand() { AbstractHandler handler = new ConcreteHander1(); AbstractHandler handler2 = new ConcreteHander2(); AbstractHandler handler3 = new ConcreteHander3(); //链式调用 handler1保存handler2的引用,handler2保存handler3的引用,这样就能逐级调用 handler.SetHandler(handler2); handler2.SetHandler(handler3); //执行 handler.Request(2); Console.Read(); }