当然,您可以将其视为一种策略,但这几乎适用于所有设计模式。那么:为什么?
答案 0 :(得分:8)
因为有些组件实施了策略,“实现某些目标的方法”。
策略模式的目的是让你在运行时选择一种做某事的方法,一种“策略”。
名称不是指整个模式,它指的是模式中执行操作的对象。
答案 1 :(得分:7)
战略模式背后的想法是“可以在运行时选择算法”。 (维基百科,Strategy Pattern)模式本质上是选择正确的策略(或行为)来解决运行时的特定问题。因此,它的名字。
答案 2 :(得分:4)
确实,所有模式都是应用程序设计的“策略”。策略模式虽然采用复杂的逻辑,算法等,并封装它。它可以清理您的代码,并允许根据不同的条件使用不同的策略。
实施例。我为Collateral编写了一个复杂的利息计算,而不是实际在Collateral类中进行计算,我把它移到了InterestCalcuation(策略)类中。然后,当他们开始告诉我计算需要不同时,因为InterestCalculation遵循IInterestCalculation接口,我可以切换出来并根据需要创建新计算,并且Collateral类不受影响......