为什么战略模式称为战略模式?

时间:2009-11-16 16:51:42

标签: design-patterns

当然,您可以将其视为一种策略,但这几乎适用于所有设计模式。那么:为什么?

3 个答案:

答案 0 :(得分:8)

因为有些组件实施了策略,“实现某些目标的方法”。

策略模式的目的是让你在运行时选择一种做某事的方法,一种“策略”。

名称不是指整个模式,它指的是模式中执行操作的对象。

答案 1 :(得分:7)

战略模式背后的想法是“可以在运行时选择算法”。 (维基百科,Strategy Pattern)模式本质上是选择正确的策略(或行为)来解决运行时的特定问题。因此,它的名字。

答案 2 :(得分:4)

确实,所有模式都是应用程序设计的“策略”。策略模式虽然采用复杂的逻辑,算法等,并封装它。它可以清理您的代码,并允许根据不同的条件使用不同的策略。

实施例。我为Collat​​eral编写了一个复杂的利息计算,而不是实际在Collat​​eral类中进行计算,我把它移到了InterestCalcuation(策略)类中。然后,当他们开始告诉我计算需要不同时,因为InterestCalculation遵循IInterestCalculation接口,我可以切换出来并根据需要创建新计算,并且Collat​​eral类不受影响......