python设计模式(策略模式)
来源:互联网 发布:编曲软件 知乎 编辑:程序博客网 时间:2024/05/02 02:54
#学习版本3.5.2#策略模式,定义一些列算法,把每一个算法都封装起来,并且使它们可以相互替换。#该模式使得算法可独立于使用它的客户变化#例如:出去旅游选择交通方式class TravelStrategy(object): def travelAlgorithm(self): passclass AirPlaneStrategy(TravelStrategy): def travelAlgorithm(self): print("travel by airplane")class TrainStrategy(TravelStrategy): def travelAlgorithm(self): print("travel by train")class BicycleStrategy(TravelStrategy): def travelAlgorithm(self): print("travel by bycycle")class PersonContext(object): def __init__(self, strategy): self._strategy = strategy def changeStrategy(self, strategy): self._strategy = strategy def travel(self): self._strategy.travelAlgorithm()if __name__ == "__main__": pc = PersonContext(BicycleStrategy()) pc.travel() pc.changeStrategy(TrainStrategy()) pc.travel()
运行结果
travel by bycycletravel by train
阅读全文
0 0
- Python设计模式-策略模式
- python设计模式(策略模式)
- Python设计模式--策略模式
- 设计模式:策略模式(Python)
- python设计模式之策略模式
- Python设计模式(十四)【策略模式】
- 设计模式--策略模式的python实现
- 设计模式-策略模式-strategy-python
- 7、python设计模式之策略模式
- python设计模式之策略模式
- Python设计模式之策略模式
- 设计模式-策略模式
- 设计模式:策略模式
- 设计模式-策略模式
- 设计模式 - 策略模式
- 设计模式-策略模式
- 设计模式-----策略模式
- 设计模式 策略模式
- Android6.0(包括)以后获取Wifi 扫描信息列表即getScanResults()
- Android Button Example-onClickListener-Intent
- SDK Manager配置Http Proxy代理
- 程序性动画——触手的逆向运动学
- 在CentOS 7下安装Nginx
- python设计模式(策略模式)
- Android EditText类
- DevExpress控件GridControl列固定(冻结)
- 模板匹配(Match Template)
- Linux系统的分类
- Java语言-HashMap-HashMap的工作原理
- Android 字符串写入文件
- 如何组织您的测试团队实施探索式测试的?
- NOIP2016D2T3 愤怒的小鸟