设计模式十一(桥接模式,python 语言实现)
2012-12-11 17:14
417 查看
基本原理请参考相关书籍,这里直接给实例
假期旅游 从目的地角度可以分为 上海和大连,从方式角度可以分为跟团和独体
桥接模式把这两种分类连接起来可以进行选择。
#运行结果
假期旅游 从目的地角度可以分为 上海和大连,从方式角度可以分为跟团和独体
桥接模式把这两种分类连接起来可以进行选择。
源代码 # -*- coding: utf-8 -*- ####################################################### # # tour.py # Python implementation of the Class DaLian # Generated by Enterprise Architect # Created on: 11-十二月-2012 16:53:52 # ####################################################### from __future__ import division from __future__ import print_function from __future__ import unicode_literals from future_builtins import * class TravelForm(object): """This class defines the interface for implementation classes. """ def __init__(self, form="stay at home"): self.form=form pass def GetForm(self): return self.form pass pass class Group(TravelForm): """This class implements the Implementor interface and defines its concrete implementation. """ def __init__(self, form="by group"): super(Group,self).__init__(form) pass pass class Independent(TravelForm): """This class implements the Implementor interface and defines its concrete implementation. """ def __init__(self, form="by myself"): super(Independent,self).__init__(form) pass class Destination(object): """This class (a) defines the abstraction's interface, and (b) maintains a reference to an object of type Implementor. """ m_TravelForm= TravelForm() def __init__(self, info): self.info=info pass def GetInfo(self): # imp->Operation(); return print(self.info + " " +self.form.GetForm()) pass def SetForm(self, form): self.form=form pass class DaLian(Destination): """This class extends the interface defined by Abstraction. """ def __init__(self, info="Go to DaLian "): super(DaLian,self).__init__(info) pass class ShangHai(Destination): """This class extends the interface defined by Abstraction. """ def __init__(self, info="Go to ShangHai"): super(ShangHai,self).__init__(info) pass #客户端 if(__name__=="__main__"): destination=ShangHai() destination.SetForm(Group()) destination.GetInfo() destination=DaLian() destination.SetForm(Independent()) destination.GetInfo()
#运行结果
相关文章推荐
- 设计模式九(单例模式,python语言实现)
- 设计模式十二(组合模式,python语言实现)
- 设计模式八(原型模式,python语言实现)
- 设计模式十八(观察者模式,python语言实现)
- 设计模式十九(中介者模式,python语言实现)
- 设计模式十(适配器模式,python语言实现)
- 设计模式十七(状态模式,python语言实现)
- 设计模式十四(享元模式flyweight,python语言实现)
- 设计模式十三(外观模式,python语言实现)
- 设计模式之桥接模式Python实现
- Head First 设计模式—Python实现
- 设计模式一(简单工厂,采用python实现)
- Python实现设计模式--04.模版方法模式(Template Method Pattern)
- 23种设计模式之python实现--Bridge模式
- scala实现设计模式之桥接模式
- 通过例子学设计模式之--桥接模式以及使用场景说明(C++实现)
- Python实现设计模式--05.建造者模式(Builder Pattern)
- 23种设计模式之python实现--解释器模式
- 设计模式与VB .net实现 桥接模式,单件模式
- php实现设计模式之 桥接模式