职责链模式

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);
}
}
}

}

转载于:https://www.cnblogs.com/longkai178/p/5815116.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值