python实现桥接模式

桥接模式:就是两个类互补包含(引用),但是通过接口传递参数,可以实现调用不同的类,达到了解耦合的目的!

#!/usr/bin/env python
# -*- coding:utf-8 -*-

__author__ = 'ming'
"""
大话设计模式
设计模式——桥接模式
桥接模式(Bridge Pattern):将抽象部分与它的实现部分分离,使它们都可以独立地变化.
程序实例:手机软件的分类 和 手机品牌的分类 耦合度低  两种分类中间用一个set_handsetsoft桥接,各自的变化,不影响其他分类
"""
#抽象手机类
class Handsetsoft(object):
    def run(self):
        pass
    
#具体软件
class Handsetgame(Handsetsoft):
    def run(Handsetsoft):
        print "手机游戏"
#手机通讯录类
class Handsetaddresslist(Handsetsoft):
    def run(self):
        print "通信录"
#抽象手机品牌类
class Handsetbrand(object):
    def __init__(self):
        self.soft =""
    def set_handsetsoft(self,soft):
        self.soft =soft
    def run(self):
        pass
#手机品牌N
class HandsetbrandN(Handsetbrand):
    def run(self):
        self.soft.run()
#手机品牌M
class HandsetbrandM(Handsetbrand):
    def run(self):
        self.soft.run()
if __name__ =="__main__":
    #首先产生游戏 和 通讯录对象,不依赖任何手机
    game =Handsetgame()
    address =Handsetaddresslist()
    
    #产生手机类,传参数链接两个类,调用软件类的方法
    N=HandsetbrandN()
    N.set_handsetsoft(game)
    N.run()
 
    M =HandsetbrandM()
    M.set_handsetsoft(address)
    M.run()


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值