微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

设计模式 – 这是一个管道,一系列责任还是其他什么?

我正在构建一个多进程架构,它似乎是一个管道和责任链的奇怪融合.从本质上讲,我有一系列由队列链接的处理程序.每个处理程序将接收一个表示输入数据的对象,将其转发到下一个处理程序,以便它可以开始处理它,然后确定它是否可以对该数据执行任何操作.

我不相信我可以称之为管道,因为一步并不真正依赖于下一步.这似乎也不是传统的责任链,因为一个处理程序无法阻止其他处理程序处理该数据.这个设计有没有名称可以帮我记录这个架构?或者我只是称之为“责任管道”?

解决方法

我仍然认为这是责任链,即使没有阻止链条.

几种模式非常相似,它们确实有变化.我认为查看模式是否符合案例的最佳方法是查看其意图.来自GoF书:

Chain of Responsibility “Avoid
coupling the sender of a request to
its receiver by giving more than one
object a chance to handle the request.
Chain the receiving objects and pass
the request along the chain until an
object handles it.” (pg.223)

因此,如果您的处理程序与通过链的对象之间没有耦合,我认为对象总是落到链的末尾并不重要,即使处理完毕也是如此.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐