两者有什么区别策略模式 http://en.wikipedia.org/wiki/Strategy_pattern和命令模式 http://en.wikipedia.org/wiki/Command_pattern?我也在寻找一些 Java 的例子。
通常,命令模式用于创建一个对象需要做什么-- 获取操作及其参数并将它们包装在要记录的对象中,保存以进行撤消,发送到远程站点等。往往会有大量不同的 Command 对象通过给定点随着时间的推移,在系统中,命令对象将保存描述所请求的操作的不同参数。
另一方面,策略模式用于指定how应该做一些事情,并插入到更大的对象或方法中以提供特定的算法。排序策略可能是合并排序,可能是插入排序,或者可能是更复杂的策略,例如仅在列表大于某个最小大小时才使用合并排序。策略对象很少受到命令对象那样的大规模改组,而是经常用于配置或调整目的。
这两种模式都涉及将单个操作的代码和可能的参数从包含它们的原始类中分解到另一个对象中,以提供独立的可变性。差异在于实践中遇到的用例以及每个模式背后的意图。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)