为什么使用 chain of responsibility模式

1 意图:使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递请求,直到有一个对象能处理该请求为止。

2:为何使用?

       这个模式,确实是看起来容易,但准确理解却很困难,很多时候我们其实更应该使用表模式而不是它。关于这一点 在总结中会在具体说一说。回到原题吧,A  解耦 请求的发送者与接受者,使发送者不需要知道太多的接受者信息。B 职责分担,运行时到底有谁来处理 这一动态决定的职责,放到 “职责相同的一组对象”里来处理,由他们来决定谁最适合处理请求。

3:总结

    1: 关于该模式 我一直不敢写,原因是我始终感觉自己对本模式的理解似乎有问题,在网上也找了很对帖子 但基本上没有人能够说清楚,很多都是人云亦云。用怪怪的话说“拉拉手就是职责链模式吗?” 应该是表模式才更合适。

    2:那使用本模式的场景是什么呢?怪怪好像没明确回答,或者在文章里已经回来了。我说一下自己的理解 可能不对 “处理请求是动态决定的,处理的入口 是有外在输入决定的。”

    3: 我也反复看了怪怪的文章 才对模式有了至少不明显错误的理解。但表达不清楚使用本模式的场景。具体的理解大家可以参看 http://www.cnblogs.com/guaiguai/archive/2008/02/18/1071753.html

    

   

转载于:https://www.cnblogs.com/wangok/archive/2009/01/03/1367463.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值