到目前为止,我在网上找到的所有示例和教程都涉及加法或减法或值计算器上的其他操作的命令,这些都是常见的示例。
但是,如果您的命令的行为与计算器中的命令不同,该怎么办?
想象一下像Microsoft Visio这样的绘图程序,在该程序中,用户将屏幕上的对象放置并移动到x和y位置。或者添加和移除对象。这些命令是不相关的,因此如果堆栈中的下一个命令是需要撤消的create object命令,则跟踪当前x,y位置没有任何意义。
有什么建议如何处理这个问题吗?
发布于 2016-12-14 08:32:05
假设“在轴上移动对象”+正确的命令是“对象”。然后命令模式处理该对象和包含的命令。因此,命令模式并不意味着“保留对象状态”。每一次,输入对象是相同的还是不同的都是一样的。
在计算器的情况下,“删除命令”将与“移除对象命令”相同。
在此讨论之前,您使用命令模式来移动对象的目的是什么?
https://stackoverflow.com/questions/41125617
复制相似问题