最新国产好看的视频,伊人天堂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)文章

最新評論

大理市| 开平市| 江陵县| 股票| 贵港市| 祁门县| 南通市| 沙田区| 临海市| 鸡西市| 铁岭市| 容城县| 广南县| 炎陵县| 庆安县| 连南| 江津市| 新兴县| 思南县| 兴城市| 白玉县| 潢川县| 额济纳旗| 新和县| 如东县| 城固县| 迭部县| 大安市| 涪陵区| 雅江县| 临朐县| 浏阳市| 黄大仙区| 汤阴县| 荔波县| 彰化县| 墨竹工卡县| 象州县| 措美县| 华坪县| 贡觉县|