python设计模式(四)--代理模式(上)
2016-05-12 00:00
585 查看
摘要: 代理模式: 为其他对象提供一种代理以控制对这个对象的访问.
最近正在持续更新源码库,代码都是参考大话设计模式翻成python版,完整代码片段请到github上去下载.
https://github.com/zhengtong0898/python-patterns
参考:
书籍<<大话设计模式>> 第7章
Python 3.x
最近正在持续更新源码库,代码都是参考大话设计模式翻成python版,完整代码片段请到github上去下载.
https://github.com/zhengtong0898/python-patterns
参考:
书籍<<大话设计模式>> 第7章
Python 3.x
[code=plain]# -.- coding:utf-8 -.- # __author__ = 'zhengtong' # 代理模式: 为其他对象提供一种代理以控制对这个对象的访问. class GiveGift: """ Python没有interface类, 但是可以通过这种方式来实现类似的接口类. 也就是说在python里, 就是公共的接口不是必须的. 定义公共接口的意义是让子类可以得到规范. """ def give_dolls(self): raise NotImplementedError def give_flowers(self): raise NotImplementedError def give_chocolate(self): raise NotImplementedError class Pursuer(GiveGift): def __init__(self, mm): self.mm = mm def give_dolls(self): print(self.mm.name, " 送你洋娃娃") def give_flowers(self): print(self.mm.name, " 送你鲜花") def give_chocolate(self): print(self.mm.name, " 送你巧克力") class SchoolGirl: def __init__(self, name): self.name = name class Proxy(GiveGift): def __init__(self, to_user): self.gg = Pursuer(to_user) def give_dolls(self): self.gg.give_dolls() def give_flowers(self): self.gg.give_flowers() def give_chocolate(self): self.gg.give_chocolate() def main(): jiaojiao = SchoolGirl('李娇娇') daili = Proxy(jiaojiao) daili.give_dolls() daili.give_flowers() daili.give_chocolate() if __name__ == '__main__': main()
相关文章推荐
- python设计模式(四)--代理模式(中)
- 用python 10min手写一个简易的实时内存监控系统
- 用Python写一个简单的监控系统
- python3使用logging日志记录
- Python基础(三) 数据类型
- Python学习---day 1
- python_Day1_基础知识开篇
- (Python学习4)List对象
- Python yield coroutine
- Python的安装与文件类型
- Python自省(反射)----inspect module
- python基础(内置函数+文件操作+lambda)
- python2.x和python3.x中raw_input( )和input( )区别
- Python中if __name__ == "__main__"是什么作用
- python ssh_Rcmd
- python 使用百度语音api
- Python中tile函数的用法
- Python 协程与多任务调度
- 《python灰帽子》学习笔记:写一个windos 调试器(一)
- 《python灰帽子》学习笔记:调试器设置