Design patterns 命令模式用例?
命令模式可能有用的一些示例用例是什么?我一直在读关于它的书,我对如何实现它有一个很好的想法。但当涉及到何时使用它时,这是一个很大的模糊 它解决的问题之一是解耦类的API。但这究竟意味着什么呢?直接调用对象的方法有什么缺点Design patterns 命令模式用例?,design-patterns,command-pattern,Design Patterns,Command Pattern,命令模式可能有用的一些示例用例是什么?我一直在读关于它的书,我对如何实现它有一个很好的想法。但当涉及到何时使用它时,这是一个很大的模糊 它解决的问题之一是解耦类的API。但这究竟意味着什么呢?直接调用对象的方法有什么缺点 它还解决了哪些其他问题,以及它们如何从中受益?命令模式可以帮助您提高可扩展性,因为您可以在不更改现有代码的情况下添加新的用例 它还允许您链接命令,并以顺序或并行模式执行(取决于语言功能)和创建宏 您可以在此页面中看到更多示例:命令模式可以在扩展性方面帮助您,因为您可以在不更改现
它还解决了哪些其他问题,以及它们如何从中受益?命令模式可以帮助您提高可扩展性,因为您可以在不更改现有代码的情况下添加新的用例 它还允许您链接命令,并以顺序或并行模式执行(取决于语言功能)和创建宏
您可以在此页面中看到更多示例:命令模式可以在扩展性方面帮助您,因为您可以在不更改现有代码的情况下添加新用例 它还允许您链接命令,并以顺序或并行模式执行(取决于语言功能)和创建宏
您可以在此页面中看到更多示例:当您需要将操作视为对象时,命令模式非常有用,这样您就可以:
- 添加不带开关盒构造的新动作类型(读:plugin)
- 存储以后要执行的操作(例如,活动对象)
- 关联到操作补充信息(例如,如何撤消操作)
当通道从线路接收到一些字节时,它构造正确的命令对象(例如,使用原型或抽象工厂模式),并将其放入稍后执行的队列中(可能在另一个线程中)。当您需要将动作视为对象时,命令模式非常有用,以便您可以:
- 添加不带开关盒构造的新动作类型(读:plugin)
- 存储以后要执行的操作(例如,活动对象)
- 关联到操作补充信息(例如,如何撤消操作)
当通道从线路接收到一些字节时,它会构造正确的命令对象(例如,使用原型或抽象工厂模式),并将其放入队列中,以便稍后执行(可能在另一个线程中)。Wikipedia对该主题有全面的介绍-。如果必须更改对象的方法,并且在整个软件项目中直接调用这些方法,那么无论在何处进行这些直接调用,都必须相应地更新项目。这是一个维护缺点。解耦可以防止这种类型的维护开销。@wiki是我最先访问的地方之一,但除了介绍之外,大多数内容(实现、术语等)都没有多大帮助。关于维修方面的缺点,我不太明白。你能给出一个具体的例子吗?可能是@jaco0646的副本它看起来确实有点误导,但我想用它作为一个例子。此外,我还希望有人能对此进行扩展。我意识到还有一些我可能错过了。维基百科对这个话题有全面的报道-。如果必须更改对象的方法,并且在整个软件项目中直接调用这些方法,那么无论在何处进行这些直接调用,都必须相应地更新项目。这是一个维护缺点。解耦可以防止这种类型的维护开销。@wiki是我最先访问的地方之一,但除了介绍之外,大多数内容(实现、术语等)都没有多大帮助。关于维修方面的缺点,我不太明白。你能给出一个具体的例子吗?可能是@jaco0646的副本它看起来确实有点误导,但我想用它作为一个例子。此外,我还希望有人能对此进行扩展。我意识到还有一些我可能错过了。