Exemplo n.º 1
0
 public override void Process(Request request)
 {
 }
Exemplo n.º 2
0
 public override void Process(Request request)
 {
     request.Price *= 1.3;
 }
Exemplo n.º 3
0
 public void HandleRequest(Request request)
 {
     if (request == null) return;
     if (request.Type == Type)
     {
         //process(Request);
     }
     else
     {
         if (Successors.Count > 0)
             foreach (IHandler successor in Successors)
                 successor.HandleRequest(request);
     }
 }
Exemplo n.º 4
0
 //需要具体IHandler类型处理的内容
 public abstract void Process(Request request);
Exemplo n.º 5
0
        //按照链式方式依次把调用继续下去
        public virtual void HandleRequest(Request request)
        {
            if (HasBreakPoint && Break != null)
                Break(this, new CallHandlerEventArgs(this, request));

            if (request == null) return;
            if (request.Type == Type)
                Process(request);
            else
                if (Successor != null)
                    successor.HandleRequest(request);
        }
Exemplo n.º 6
0
 public CallHandlerEventArgs(IHandler handler,Request request)
 {
     this.handler = handler;
     this.request = request;
 }