当前位置:编程学习 > 网站相关 >>

桥接模式(python)

 

桥接模式:将系统抽象部分与它的实现部分分离,使它们可以独立地变化。

由于目标系统存在多个角度的分类,每一种分类都会有多种变化,那么就可以把多角度分离出来,让它们独立变化,减少它们之间的耦合。

#encoding=utf-8 

#by panda 

#桥接模式 

 

def printInfo(info): 

    print unicode(info, 'utf-8').encode('gbk') 

 

#抽象类:手机品牌 

class HandsetBrand(): 

    soft = None 

    def SetHandsetSoft(self, soft): 

        self.soft = soft 

     

    def Run(self): 

        pass 

     

#具体抽象类:手机品牌1 

class HandsetBrand1(HandsetBrand): 

    def Run(self): 

        printInfo('手机品牌1:') 

        self.soft.Run() 

 

#具体抽象类:手机品牌2 

class HandsetBrand2(HandsetBrand): 

    def Run(self): 

        printInfo('手机品牌2:') 

        self.soft.Run() 

 

     

#功能类:手机软件 

class HandsetSoft(): 

    def Run(self): 

        pass 

 

#具体功能类:游戏     

class HandsetGame(HandsetSoft): 

    def Run(self): 

        printInfo('运行手机游戏') 

         

#具体功能类:通讯录    

class HandsetAddressList(HandsetSoft): 

    def Run(self): 

        printInfo('运行手机通信录') 

 

def clientUI(): 

    h1 = HandsetBrand1() 

    h1.SetHandsetSoft(HandsetAddressList()) 

    h1.Run() 

    h1.SetHandsetSoft(HandsetGame()) 

    h1.Run() 

     

    h2 = HandsetBrand2() 

    h2.SetHandsetSoft(HandsetAddressList()) 

    h2.Run() 

    h2.SetHandsetSoft(HandsetGame()) 

    h2.Run()     

    return 

 

if __name__ == '__main__': 

    clientUI(); 

 

类图:

\

 

摘自 ponder008的专栏

补充:Web开发 , Python ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,