欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
設計模式之職責鏈(Chain of Resposibility) c#
設計模式之職責鏈(Chain of Resposibility) c#
 

設計模式之職責鏈(Chain of Resposibility)

Author: 李艷慶
Date: 2005年11月11日

職責鏈是多個(gè)類(lèi)共同處理一個(gè)請求.當A類(lèi)不能處理時(shí)則傳遞給B類(lèi),B類(lèi)不能處理時(shí)傳遞給C類(lèi),依次傳下去,直到處理或所有類(lèi)遍歷一次.
也就是說(shuō)當一個(gè)類(lèi)不能處理一個(gè)請求時(shí),就把該請求傳給它的下家,下家不能處理,再傳給它的下下家.
例如顯示某個(gè)數值,每個(gè)類(lèi)呢,都有一個(gè)顯示范圍,判斷是否在這個(gè)范圍內,在則顯示,不在就傳給它的下家.
建立一個(gè)抽象的處理類(lèi).所有處理類(lèi)繼承于它.
public abstract class ShowNumber
{
     protected ShowNumber show;
     public void SetNextHandler(ShowNumber show)
     {
         this.show = show;
     }
     public abstract void ShowRequest(int number);
}
下面為四個(gè)簡(jiǎn)單的處理類(lèi):
public class ShowNumber1 : ShowNumber
{
     public override void ShowRequest(int number)
     {
         if ((number >= 0) && (number < 250))
         {
             Console.WriteLine(number.ToString());
         }
         else if(show != null)
         {
             show.ShowRequest(number);
         }
     }
}
public class ShowNumber2 : ShowNumber
{
     public override void ShowRequest(int number)
     {
         if ((number >= 250) && (number < 500))
         {
             Console.WriteLine(number.ToString());
         }
         else if(show != null)
         {
             show.ShowRequest(number);
         }
     }
}
public class ShowNumber3 : ShowNumber
{
     public override void ShowRequest(int number)
     {
         if ((number >= 500) && (number < 750))
         {
             Console.WriteLine(number.ToString());
         }
         else if(show != null)
         {
             show.ShowRequest(number);
         }
     }
}
public class ShowNumber4 : ShowNumber
{
     public override void ShowRequest(int number)
     {
         if ((number >= 750) && (number < 1000))
         {
             Console.WriteLine(number.ToString());
         }
         else if(show != null)
         {
             show.ShowRequest(number);
         }
     }
}

調用時(shí),依次將處理類(lèi)聯(lián)結.最后由第一個(gè)處理類(lèi)處理.
public class Client
{
     public static void Main()
     {
         ShowNumber show1 = new ShowNumber1();
         ShowNumber show2 = new ShowNumber2();
         ShowNumber show3 = new ShowNumber3();
         ShowNumber show4 = new ShowNumber4();
         show1.SetNextHandler(show2);
         show2.SetNextHandler(show3);
         show3.SetNextHandler(show4);
         show1.ShowRequest(300);
     }
}

當第一個(gè)處理類(lèi)不能處理時(shí),會(huì )傳給第二個(gè)處理類(lèi),第二個(gè)處理類(lèi)可以處理

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
打印三角形
設計模式初學(xué)者系列-觀(guān)察者模式
Decorator設計模式
結構型設計模式 -- 適配器模式
常見(jiàn)設計模式--C++基礎
java模仿windows計算器示例
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久