您当前的位置: 首页 > 

dawn

暂无认证

  • 4浏览

    0关注

    204博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

设计模式:责任链模式

dawn 发布时间:2022-06-14 21:57:12 ,浏览量:4

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

  这个模式适合制定流程、任务类的程序设计,预先设定好流程或者任务,然后从流程的起始点开始,程序按照流程设定自动去完成。

  代码:


  输出:

NodeC处理完毕!

NodeC处理完毕!
无法处理请求!

  每个节点都有根据条件来判断是否属于自己可以完成的任务,如果是就完成,如果不是则判断是否有上一级的节点,有的话就将请求送往上一节点去处理。

  这个模式很适合公文扭转类的程序。

  这里的条件设定可以有很多种变化,比如请求一个商品的折扣,可以有直接打折、降价、优惠券使用等,只要定义好每个处理的具体完成的内容以及出口节点,即整个商品的折扣流程定义好,那么就可以处理商品的折扣请求。

  也可以是分类条件,比如几个类型的命令,每个类型的命令都有各自的处理以及下一级的出口,那么也可以使用这样的设计模式来完成。

关注
打赏
1664252102
查看更多评论
立即登录/注册

微信扫码登录

0.1405s