命令模式与队列

时间:2016-09-21 18:42:29

标签: c# asp.net design-patterns

我已经完成了命令模式,并了解到它可以在列表中保存不同的命令。那么为什么当我们有像堆栈或队列这样的简单集合类时,它正在构造一个复杂的结构。为什么在命令模式中没有使用队列?

Reference for command pattern

 Queue q = new Queue();

     q.Enqueue('A');
     q.Enqueue('M');
     ch = (char)q.Dequeue();

1 个答案:

答案 0 :(得分:1)

您已关联的文章DOES使用Stack代表UndoableCommand

  

class CommandManager { private Stack commandStack = new Stack(); ...

然而,使用Queue表示从用户进入并被发送到命令处理系统的命令,这将有助于在命令执行时继续使表单响应。这实际上是异步编程 1 ,它超出了本文的范围。

1 通常情况下,我在这里链接一篇文章,但异步编程的主题是如此之大,以至于我真的相信你最好不要用谷歌搜索它并查看多个来源