我正在构建一个多进程架构,它似乎是一个管道和责任链的奇怪融合.从本质上讲,我有一系列由队列链接的处理程序.每个处理程序将接收一个表示输入数据的对象,将其转发到下一个处理
我不相信我可以称之为管道,因为一步并不真正依赖于下一步.这似乎也不是传统的责任链,因为一个处理程序无法阻止其他处理程序处理该数据.这个设计有没有名称可以帮我记录这个架构?或者我只是称之为“责任管道”?
我仍然认为这是责任链,即使没有阻止链条.几种模式非常相似,它们确实有变化.我认为查看模式是否符合案例的最佳方法是查看其意图.来自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)
因此,如果您的处理程序与通过链的对象之间没有耦合,我认为对象总是落到链的末尾并不重要,即使处理完毕也是如此.