代码之家  ›  专栏  ›  技术社区  ›  hIpPy

战略模式与授权模式的区别

  •  19
  • hIpPy  · 技术社区  · 15 年前

    战略模式和授权模式(非授权)之间的区别是什么?

    4 回复  |  直到 9 年前
        1
  •  26
  •   mson    15 年前

    战略模式意味着

    • 一个名为Strategy(或名称中包含Strategy)的接口。此接口应具有名为execute()的方法。
    • 还应该有一个包含策略的上下文类

        2
  •  12
  •   skaffman    15 年前

    “委托”并不是一种真正的设计模式,它更多的是一种通用的编程技术,组件a将任务(不管是什么类型的任务)委托给组件B。委托可以在许多上下文中使用。

    另一方面,策略模式是一种特定的模式,通常大量使用委托作为实现细节。

    strategy.execute(x)
    

    所以这不是非此即彼,概念是互补的。

        3
  •  2
  •   Alex M    14 年前

    这里有一个想法:

    另一方面,如果我希望在运行时能够交换类的一部分,我将使用单个方法接口(例如executeCalculation)创建策略类,并使其成为包含类的聚合组件。

        4
  •  1
  •   Austin_Anderson    8 年前

    事实上,我发现这一页正在寻找一些人,让我了解仍然使用设计模式路线的好处,因为java 8和C#现在都支持将函数作为参数传递