码迷,mamicode.com
首页 > 其他好文 > 详细

职责链模式

时间:2016-08-28 16:28:39      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

/*


职责链模式

*
*
* 好处是把任务分化了,并让各个执行只管处理自己的部分,处理不能转交下一个处理进行处理
* 不好是可能到最后就没有处理到请求
*

*/

namespace App_MYCS.HDL_SJMS.ZRLMS
{
class my_ZRLMS
{
public void Dy()
{
hander1 h1 = new hander1();
hander2 h2 = new hander2();

h1.SetSuccessor(h2);//设定请求转移处理对象


int request = 15;
h1.HandleRequest(request);//开始请求

}

}

abstract class Hander
{
protected Hander successor;

public void SetSuccessor(Hander successor)
{
this.successor = successor;
}

public abstract void HandleRequest(int request);//抽像请求处理方法
}

class hander1 : Hander
{
public override void HandleRequest(int request)
{
if (request >= 0 && request < 10)//设定自己能处理的请求范围
{
Console.WriteLine("处理请求");
}
else if(successor!=null)
{
successor.HandleRequest(request); //转移处理对象
}
}
}
class hander2 : Hander
{
public override void HandleRequest(int request)
{
if (request >= 10 && request < 20)//设定自己能处理的请求范围
{
Console.WriteLine("处理请求");
}
else if (successor != null)
{
successor.HandleRequest(request);
}
}
}

}

职责链模式

标签:

原文地址:http://www.cnblogs.com/longkai178/p/5815116.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!