python实现Bridge模式
来源:互联网 发布:全国十大淘宝村集群 编辑:程序博客网 时间:2024/05/17 07:15
#-*-coding:utf-8-*-
'''
意图:将抽象部分与它的实现部分分离,使它们都可以独立地变化,适用于客户要求不断地变化
1,将原抽象部分中实现部分写到一个类中
2,原抽象部分有一个指向实现部分的接口
'''
from abc import ABCMeta
class Abstraction(): #抽象部分
__metaclass__ = ABCMeta
def __init__(self):
pass
def operation(self):
pass
class RefinedAbstraction(Abstraction):
def __init__(self, imp):
self._imp = imp
def operation(self):
self._imp.operation()
class AbstractionImp(): #实现部分
__metaclass__ = ABCMeta
def __init__(self):
pass
def operation(self):
print 'AbstractionImp...imp...'
class ConcreteAbstractionA(AbstractionImp):
def operation(self):
print 'ConcreteAbstractionImpA...'
class ConcreteAbstractionB(AbstractionImp):
def operation(self):
print 'ConcreteAbstractionImpB...'
if __name__ == "__main__":
impA = ConcreteAbstractionA()
absA = RefinedAbstraction(impA)
absA.operation()
impB = ConcreteAbstractionB()
absB = RefinedAbstraction(impB)
absB.operation()
'''
意图:将抽象部分与它的实现部分分离,使它们都可以独立地变化,适用于客户要求不断地变化
1,将原抽象部分中实现部分写到一个类中
2,原抽象部分有一个指向实现部分的接口
'''
from abc import ABCMeta
class Abstraction(): #抽象部分
__metaclass__ = ABCMeta
def __init__(self):
pass
def operation(self):
pass
class RefinedAbstraction(Abstraction):
def __init__(self, imp):
self._imp = imp
def operation(self):
self._imp.operation()
class AbstractionImp(): #实现部分
__metaclass__ = ABCMeta
def __init__(self):
pass
def operation(self):
print 'AbstractionImp...imp...'
class ConcreteAbstractionA(AbstractionImp):
def operation(self):
print 'ConcreteAbstractionImpA...'
class ConcreteAbstractionB(AbstractionImp):
def operation(self):
print 'ConcreteAbstractionImpB...'
if __name__ == "__main__":
impA = ConcreteAbstractionA()
absA = RefinedAbstraction(impA)
absA.operation()
impB = ConcreteAbstractionB()
absB = RefinedAbstraction(impB)
absB.operation()
- python实现Bridge模式
- 23种设计模式之python实现--Bridge模式
- Bridge 模式C++实现
- C++实现Bridge模式
- C++实现Structural - Bridge模式
- C++设计模式实现--桥接(Bridge)模式
- 设计模式实现(七): Bridge Pattern
- C++实现设计模式:Bridge Pattern
- Java 实现桥接(Bridge)模式
- Bridge模式
- Bridge模式
- Bridge模式
- bridge模式
- Bridge模式
- Bridge模式
- Bridge 模式
- Bridge 模式
- Bridge 模式
- PAT中文版1001.害死人不偿命的(3n+1)猜想
- JAVA IO
- web.xml 中的listener、 filter、servlet 加载顺序及其详解
- 函数和存储过程的区别
- Merge k Sorted Lists
- python实现Bridge模式
- java程序设计--孙鑫java无难事Lesson8《集合类》
- uC/OS-II 学习笔记之:任务挂起与恢复,调度器上锁与解锁!
- 操作系统的作用和功能
- 远程登陆不要密码,使用authorized_keys不生效的解决方法
- java程序设计--孙鑫java无难事Lesson9《IO操作》
- 求字符串中包含唯一字符的最长子串
- SqlServer2000安装注意事项
- java程序设计--孙鑫java无难事Lesson10《Java图形界面编程》