最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#職責(zé)鏈模式實例詳解

 更新時間:2015年07月16日 11:56:48   作者:宋勇野  
這篇文章主要介紹了C#職責(zé)鏈模式,以實例形式完整分析了C#職責(zé)鏈模式的相關(guān)技巧與實現(xiàn)方法,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了C#職責(zé)鏈模式。分享給大家供大家參考。具體如下:

ConcreteHandler1.cs如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
  public class ConcreteHandler1:Handler
  {
    public override void HandRequest(int request)
    {
      if(request>0&&request<10)
      {
        Console.WriteLine("{0} 處理請求 {1}",this.GetType().Name,request);
      }
      else if(successor!=null)
      {
        successor.HandRequest(request);
      }
    }
  }
}

ConcreteHandler2.cs如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
  public class ConcreteHandler2:Handler
  {
    public override void HandRequest(int request)
    {
      if (request > 10 && request < 20)
      {
        Console.WriteLine("{0} 處理請求 {1}", this.GetType().Name, request);
      }
      else if (successor != null)
      {
        successor.HandRequest(request);
      }
    }
  }
}

ConcreteHandler3.cs如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
  public class ConcreteHandler3:Handler
  {
    public override void HandRequest(int request)
    {
      if (request > 20 && request < 30)
      {
        Console.WriteLine("{0} 處理請求 {1}", this.GetType().Name, request);
      }
      else if (successor != null)
      {
        successor.HandRequest(request);
      }
    }
  }
}

Handler.cs如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
  public abstract class Handler
  {
    protected Handler successor;
    public void SetSuccessor(Handler successor) 
    {
      this.successor = successor;
    }
    public abstract void HandRequest(int request);
  }
}

Program.cs如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
  class Program
  {
    static void Main(string[] args)
    {
      Handler h1 = new ConcreteHandler1();
      Handler h2 = new ConcreteHandler2();
      Handler h3 = new ConcreteHandler3();
      h1.SetSuccessor(h2);
      h2.SetSuccessor(h3);
      int[] requests = {2,5,14,22,18,3,27,20};
      foreach(int request in requests)
      {
        h1.HandRequest(request);
      }
      Console.ReadKey();
    }
  }
}

希望本文所述對大家的C#程序設(shè)計有所幫助。

相關(guān)文章

最新評論

克拉玛依市| 富锦市| 丘北县| 阳江市| 锡林浩特市| 基隆市| 都昌县| 镇康县| 张北县| 西青区| 于都县| 安宁市| 民丰县| 桦川县| 阳原县| 微博| 房产| 轮台县| 辛集市| 平凉市| 鄂温| 新巴尔虎右旗| 弋阳县| 嘉鱼县| 东乡县| 义马市| 梨树县| 肃北| 西藏| 从化市| 平阴县| 女性| 灵武市| 陆良县| 宁乡县| 彭泽县| 吉木萨尔县| 壶关县| 万州区| 平遥县| 金乡县|