首页 > 代码库 > 代理模式
代理模式
模式说明
代理模式就是给一个对象提供一个代理,并由代理对象控制对原对象的引用。
在代理模式中,“第三者”代理主要是起到一个中介的作用,它连接客户端和目标对象。
模式结构图
程序示例
说明:男孩给女孩送礼物,通过她的闺蜜来代理完成
代码:
1 class Girl(object): 2 def __init__(self,name): 3 self._name = name 4 5 class Gift(object): 6 def __init__(self,girl): 7 self._target = girl 8 def GiveChocolate(self): 9 pass10 def GiveFlower(self):11 pass12 13 class Boy(Gift):14 def __init__(self, name, girl):15 self._name=name16 super(Boy, self).__init__(girl)17 18 def GiveChocolate(self):19 print ‘%s gives %s a chocolate‘ %(self._name,self._target._name)20 21 def GiveFlower(self):22 print ‘%s gives %s a flower‘ %(self._name,self._target._name)23 24 class ChumProxy(Gift):25 def __init__(self,boy):26 self._boy = boy27 28 def GiveChocolate(self):29 self._boy.GiveChocolate()30 def GiveFlower(self):31 self._boy.GiveFlower() 32 33 if __name__==‘__main__‘:34 girl = Girl(‘girl‘)35 boy = Boy(‘boy‘,girl)36 chum = ChumProxy(boy)37 chum.GiveChocolate()38 chum.GiveFlower()
运行结果:
参考来源:
http://www.cnblogs.com/chenssy/p/3679190.html
http://www.cnblogs.com/wuyuegb2312/archive/2013/04/09/3008320.html
http://www.cnblogs.com/Terrylee/archive/2006/07/17/334911.html
代理模式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。