23种设计模式之python实现--Flyweight模式
2014-04-04 16:32
351 查看
#理解 #运用共享技术,减少大量细粒度对象对存储的开销 #例子 #我们知道我们现在网上会注册很多帐号和密码,一些不重要的都是相同的,这样如果很多很多的话就会占用大量的空间 #Flyweight class Flyweight: def Operation(self): pass #ConcreateFlyweight class password(Flyweight): def __init__(self,pwd): self.pwd=pwd def Operation(self): pass #FlyweightFactory class FlyweightFactory: object={} i=0 def getFlyweight(self,pwd): for ii in range(0,self.i): if self.object[ii].pwd==pwd: return self.object[ii] self.object[self.i]=password(pwd) self.i=self.i+1 return self.object[self.i-1] #client if __name__=='__main__': fc=FlyweightFactory() fw=fc.getFlyweight("123") fw1=fc.getFlyweight("345") fw2=fc.getFlyweight("123") print fw,fw.pwd print fw1,fw1.pwd print fw2,fw2.pwd
运行结果如图
相关文章推荐
- Sublime plugins useful for pythonor
- Python处理HTML实体编码
- Python处理\u形式字符串
- python 倒读 一个文件,从最后一行往前读
- 学习使用Python搭建Web应用(win)
- Ubuntu下安装easy_install
- python+webdriver ppt
- python学习笔记(4)
- Exercise 34:访问列表元素
- 使用 python,批量修改 mongdb 的字段类型
- PIp更新Python组件源地址
- 23种设计模式之python实现--Facade模式
- [转]python类方法
- python 打包
- Python---ipython特性
- Python正则表达式指南
- Python 改变当前工作目录
- python发送各类邮件的主要方法
- python:文件的读取、创建、追加、删除、清空
- 【Python数据分析】从Web收集数据小实例