gpt4 book ai didi

design-patterns - 命令模式似乎不必要地复杂(我无法理解什么?)

转载 作者:行者123 更新时间:2023-12-03 23:46:43 26 4
gpt4 key购买 nike

我已经阅读了命令模式,我想我缺少了一些东西。 Command对象的存在是为了抽象出Receiver对象的详细信息。在我看来,我们可以简单地在这里停止,并保留对Command对象的引用,以在适当的时间执行适当的方法。

那么,为什么需要调用者?这个额外的间接提供了什么好处?我们已经在Command后面隐藏了Receiver的详细信息,那么又将Command从客户端隐藏起来的动机是什么?

最佳答案

好吧,如果您这样说的话,它似乎相当复杂,但是通常,接收器根本不需要成为对象。它可以不仅仅是执行的功能(作为事件)。同样,调用者也不必是一个类。只是触发命令的事物。这也可以是按钮中的事件处理程序。

甚至Wikipedia都总结了使用该模式的几个示例,而实际上不必为调用者和接收者实现完整的单独类。一个示例是向导对话框,其中GUI填充命令对象,然后单击“完成”按钮将其触发。这样,GUI类(无论如何您都拥有)既是客户端又是调用者。

关于design-patterns - 命令模式似乎不必要地复杂(我无法理解什么?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6064116/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com