设计模式之13 - 责任链模式Chain Of Responsibility

        条件判断 在编程中是应用最广的,他决定了程序的下一步应该怎么执行。我们来看下面一段代码:

// 条件判断
string strType = "";
if(age<3)
    strType = "未入学";
else if(age<6)
    strType = "幼儿园";
else if(age<12)
    strType = "小学";
else if(age<15)
    strType = "初中";
else if(age<18)
    strType = "高中";
else if(age<22)
    strType = "大学";
else if(age<25)
    strType = "研究生";
else if(age<28)
    strType = "博士";
else
    strType = "已毕业";
        再来看下 switch case 的情况:
// Switch
void divide(int i)
{
    switch(i)
    {
        case 1:
        case 2:
        case 3:
        case 4:
        case 5:
        ……
    }
}

        上述两种情况 都是属于 责任链的概念。

        责任链模式 将多个对象定义成一个链式结构,按照顺序对请求进行判断和处理,直到有一个对象处理他为止。

        

        这个结构非常容易理解,像代码中 经常会用到的 消息传递机制、windows窗口事件 等,都是属于责任链模式的应用。

        

        责任链模式 的优点在于实现了 请求者 和 处理者 的代码分离,发出请求的调用者 不需要知道谁处理了这个消息,只需要将请求发送出去即可,大大提高了灵活性。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值