责任链模式和命令模式的行为模式有何区别?

3

我有Grady Booch的书《设计模式》,但我对责任链命令设计模式之间的区别感到困惑。有人能提供一些解释吗?

我正在尝试在一个小型服务器系统中找出应该使用哪个设计模式,可以发送像LOGIN <user:pass>ADD_ENTRY <title:description>这样的命令,然后我想我可以创建一个线程,在其中解析任何传入的数据,然后将其传递给某个commandHandler或其他东西,该处理程序将查看command和随其发送的数据,并对其执行操作。似乎责任链命令都可以胜任此任务,但我对它们之间的区别感到困惑。

有人能解释一下吗?


2
实际上,Grady Booch为《设计模式》写了前言 :) - undefined
它们之间没有共同点可以进行比较。 - undefined
2个回答

7

弄清楚了 - command基本上只是封装在对象中的一个命令。责任链更多地是一个对象试图处理某些事情,如果不能处理,则将其传递给“链”中的下一个对象。


2
在责任链模式中,您没有机会撤消、保存或排队操作。如果您需要这样做,您必须使用命令模式。如果您想在不同的时间执行操作,则使用命令模式。如果有多个对象可以处理请求,请使用责任链模式。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接