开发手册 欢迎您!
软件开发者资料库

Python设计模式 - 策略

Python设计模式策略 - 从简单和简单的步骤学习Python设计模式从基本到高级概念,包括简介,Python的Gist,模型视图控制器,单例,工厂,构建器,原型,外观,命令,适配器,装饰器,代理,责任链,观察员,状态,战略,模板,飞重,抽象工厂,面向对象的模式,面向对象的概念实施,迭代器模式,词典,列表数据结构,集,队列,字符串和序列化,Python中的并发,反模式, 异常处理。

战略模式是一种行为模式.策略模式的主要目标是使客户端能够从不同的算法或过程中进行选择以完成指定的任务.可以交换不同的算法,而不会出现上述任务的任何复杂情况.

此模式可用于提高访问外部资源时的灵活性.

如何实施策略模式?

下面显示的程序有助于实现策略模式.

import typesclass 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()

输出

上述程序生成以下输出 :

策略模式

解释

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