责任链和指挥设计行为模式之间有什么区别?

时间:2013-01-09 05:57:00

标签: design-patterns

我有Grady Booch的设计模式这本书,但我对责任链命令设计模式?谁能提供一些清晰度?

我想找出在迷你服务器系统中使用哪一个,你可以发送一个命令,如LOGIN <user:pass>ADD_ENTRY <title:description>等等,然后我想我可以创建一个线程我会解析所有进入的数据,然后将其抛出到某些commandHandler或其他会查看command以及随之发送的数据,并对其执行操作。似乎责任链命令对此有用,但我对它们之间的区别感到困惑。

任何人都可以解释一下吗?

2 个答案:

答案 0 :(得分:5)

想出来 - 命令基本上只是一个封装在一个对象中的命令。责任链更像是一个试图处理某事的对象。如果没有,将它传递给'链'中的下一个。

答案 1 :(得分:0)

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