Beispiel #1
0
 //一个女性(女儿、妻子或者是母亲)要求逛街,你要处理这个请求
 public void HandleMessage(IWomen women)
 {
     if (women.getType() == this.level)
     {
         this.response(women);
     }
     else
     {
         if (this.nextHandler != null)   //有后续环节,才把请求往后递送
         {
             this.nextHandler.HandleMessage(women);
         }
         else     //已经没有后续处理人了,不用处理了
         {
             Console.WriteLine("---没地方请示了,按不同意处理---\n");
         }
     }
 }
Beispiel #2
0
 public void HandleMessage(IWomen women, int max = 10)
 {
     if (max <= 0)
     {
         throw new Exception("Error:超过责任链的阀值,会影响性能");
     }
     if ((int)women.GetLevel() == (int)this._levelEnum)
     {
         this.Response(women);
     }
     else
     {
         if (this._nextHandler == null)
         {
             Debug.WriteLine($"-- {Enum.GetName(typeof( WomenLevelEnum), women.GetLevel()) } 没有地方请示,按不同意处理 --");
         }
         else
         {
             this._nextHandler.HandleMessage(women, --max);
         }
     }
 }
Beispiel #3
0
 //父亲的答复
 protected override void response(IWomen women)
 {
     Console.WriteLine("--------女儿向父亲请示-------");
     Console.WriteLine(women.getRequest());
     Console.WriteLine("父亲的答复是:同意\n");
 }
Beispiel #4
0
 //有请示那当然要回应
 protected abstract void response(IWomen women);
Beispiel #5
0
 public void Response(IWomen women)
 {
     Debug.WriteLine($"{Enum.GetName(typeof(HandleLevelEnum) , this._levelEnum)} 同意  {Enum.GetName(typeof(WomenLevelEnum), women.GetLevel())} {women.GetRequest()} 的请求 ");
 }
Beispiel #6
0
 //丈夫请示的答复
 protected override void response(IWomen women)
 {
     Console.WriteLine("--------妻子向丈夫请示-------");
     Console.WriteLine(women.getRequest());
     Console.WriteLine("丈夫的答复是:同意\n");
 }