代码之家  ›  专栏  ›  技术社区  ›  Peter Booster

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

  •  7
  • Peter Booster  · 技术社区  · 15 年前

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

    3 回复  |  直到 15 年前
        1
  •  9
  •   RichieHindle    15 年前

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

    策略模式的要点是让您在运行时选择一种做某事的方式,即“策略”。

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

        2
  •  8
  •   JasCav    15 年前

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

        3
  •  4
  •   bytebender    15 年前

    的确,所有模式都是应用程序设计的“策略”。策略模式虽然采用了复杂的逻辑、算法等,但对其进行了封装。这会清理您的代码,并允许根据不同的条件使用不同的策略。

    例如,我为抵押品编写了一个复杂的利息计算,而不是在抵押品类中实际进行计算,我将其移动到利息计算(策略)类中。然后,当他们开始告诉我计算需要不同时,因为利息计算遵循IInterestCalculation接口,我可以根据需要切换并创建新的计算,而抵押品类别不受影响。。。