Python设计模式 策略模式

Python设计模式 策略模式

策略模式是一种行为模式的类型。策略模式的主要目标是使客户能够从不同的算法或程序中选择,以完成指定的任务。不同的算法可以互换,而不会给提到的任务带来任何麻烦。

在访问外部资源时,这种模式可以用来提高灵活性。

如何实现该策略模式

下图所示的程序有助于实现策略模式。

import types

class StrategyExample:
   def __init__(self, func = None):
      self.name = 'Strategy Example 0'
      if func is not None:
         self.execute = types.MethodType(func, self)

   def execute(self):
      print(self.name)

def execute_replacement1(self): 
   print(self.name + 'from execute 1')

def execute_replacement2(self):
   print(self.name + 'from execute 2')

if __name__ == '__main__':
   strat0 = StrategyExample()
   strat1 = StrategyExample(execute_replacement1)
   strat1.name = 'Strategy Example 1'
   strat2 = StrategyExample(execute_replacement2)
   strat2.name = 'Strategy Example 2'
   strat0.execute()
   strat1.execute()
   strat2.execute()

输出

上述程序产生了以下输出 –

Python设计模式--策略

解释

它提供了一个来自函数的策略列表,该列表执行输出。这种行为模式的主要焦点是行为。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程