本文实例为大家分享了python策略模式代码,供大家参考,具体内容如下
"""
策略模式
"""
import types
class StrategyExample:
def __init__(self, func=None):
self.name = '策略例子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 + ' 从执行1')
def execute_replacement2(self):
print(self.name + ' 从执行2')
if __name__ == '__main__':
strat0 = StrategyExample()
strat1 = StrategyExample(execute_replacement1)
strat1.name = '策略例子1'
strat2 = StrategyExample(execute_replacement2)
strat2.name = '策略例子2'
strat0.execute()
strat1.execute()
strat2.execute()
运行结果如图:
您可能感兴趣的文章:Python设计模式之单例模式实例Python设计模式中单例模式的实现及在Tornado中的应用python设计模式大全Python设计模式之观察者模式实例Python设计模式之代理模式实例Python设计模式之抽象工厂模式举例讲解Python设计模式编程的代理模式与抽象工厂模式举例讲解Python设计模式编程中对抽象工厂模式的运用实例讲解Python设计模式编程之工厂方法模式的使用深入解析Python设计模式编程中建造者模式的使用Python设计模式之命令模式简单示例Python 单例设计模式用法实例分析