一尘不染

策略模式和命令模式之间的区别

java

策略模式命令模式有什么区别?我也在寻找Java中的一些示例。


阅读 788

收藏
2020-12-03

共1个答案

一尘不染

通常,命令模式用于使对象脱离 需要完成的工作
-进行操作及其参数并将其包装在要记录的对象中,以备撤消,发送到远程站点等。随着时间的流逝,它们将往往是大量不同的Command对象,它们会通过系统中的给定点,并且Command对象将包含描述所需操作的各种参数。

另一方面,策略模式用于指定应 该如何做
,并插入到较大的对象或方法中以提供特定的算法。排序策略可能是合并排序,也可能是插入排序,或者可能更复杂,例如如果列表大于某个最小大小,则仅使用合并排序。策略对象很少受到与Command对象有关的大量改组,而是经常用于配置或调整目的。

两种模式都涉及将代码和可能的单个操作参数分解为包含它们的原始类的另一个类,以提供独立的可变性。不同之处在于实践中遇到的用例以及每种模式背后的意图。

2020-12-03