#理解
#策略模式与模版模式相似,不同的是Strategy模式,将抽象接口封装到了另一个类
#Strategy
class Strategy:
def AlgrithmInterface(self):
pass
#ConcreteStrategy
class ConcreteStrategyA(Strategy):
def AlgrithmInterface(self):
print "eat food"
class ConcreteStrategyB(Strategy):
def AlgrithmInterface(self):
print "drink water"
class Context:
def __init__(self,Strategy):
self.Strategy=Strategy
def DoAction(self):
self.Strategy.AlgrithmInterface()
#client
if __name__=="__main__":
strategy=ConcreteStrategyA()
context=Context(strategy)
context.DoAction()
23种设计模式之python实现--Strategy模式
最新推荐文章于 2023-11-13 22:23:19 发布