python设计模式大全


Posted in Python onJune 27, 2016

本文实例讲述了python常见的设计模式。分享给大家供大家参考,具体如下:

# #!/usr/bin/env python
# # -*- coding:utf-8
#
# class HttpBase:
#   def get(self):
#     psss
# class Http1(HttpBase):
#   def get(self):
#     print 'http1'
# class Http2(HttpBase):
#   def get(self):
#     print 'http2'
#
#
# class Base:
#   def __init__(self):
#     self.httpobj = None
#   def http(self):
#     self.httpobj.get()
#   def compute(self):
#     self.http()
#     self.show()
#   #虚函数
#   def show(self):
#     pass
#   def notify(self, k):
#     print 'notify', k
#
#
# #桥接模式,通过A,B 关联不同的http1和http2
# class BaseA(Base):
#   def __init__(self):
#     self.httpobj = Http1()
#   def notify(self, k):
#     print 'A notify', k
#   def show(self):
#     print 'show a'
#
# class BaseB(Base):
#   def __init__(self):
#     self.httpobj = Http2()
#   def notify(self, k):
#     print 'B notify', k
#   def show(self):
#     print 'show b'
#
# #观测者模式
# class Observer:
#   def __init__(self):
#     self.listOB = []
#   def register(self, obj):
#     self.listOB.append(obj)
#   def notify(self):
#     for obj in self.listOB:
#       obj.notify(len(self.listOB))
#
# #适配器模式
# class B1:
#   def http(self):
#     BaseB().http()
# #工厂模式
# class Factory:
#   def CreateA(self):
#     return BaseA()
#   def CreateB(self):
#     return BaseB()
#
#
# #单例模式
# class Logger(object):
#   log = None
#   @staticmethod
#   def new():
#
#     import threading
#     #线程安全
#     mylock = threading.RLock()
#     mylock.acquire()
#     if not Logger.log:
#       Logger.log = Logger()
#     mylock.release()
#
#     return Logger.log
#   def write(self, v):
#     print 'Logger ', v
#
# if __name__ == "__main__":
#   a = Factory().CreateA()
#   b = Factory().CreateB()
#
#   objS = Observer()
#   objS.register(a)
#   objS.register(b)
#
#   a.compute()
#   b.compute()
#   objS.notify()
#
#   b1 = B1()
#   b1.http()
#
#   Logger.new().log.write('v')

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python计算一个文件里字数的方法
Jun 15 Python
对Python 窗体(tkinter)树状数据(Treeview)详解
Oct 11 Python
python url 参数修改方法
Dec 26 Python
python的pytest框架之命令行参数详解(上)
Jun 27 Python
使用 python pyautogui实现鼠标键盘控制功能
Aug 04 Python
python向图片里添加文字
Nov 26 Python
Tensorflow之梯度裁剪的实现示例
Mar 08 Python
Django Admin设置应用程序及模型顺序方法详解
Apr 01 Python
基于Python实现视频的人脸融合功能
Jun 12 Python
Python加速程序运行的方法
Jul 29 Python
python创建文本文件的简单方法
Aug 30 Python
pandas处理csv文件的方法步骤
Oct 16 Python
Python处理JSON时的值报错及编码报错的两则解决实录
Jun 26 #Python
Python使用自带的ConfigParser模块读写ini配置文件
Jun 26 #Python
Python读写txt文本文件的操作方法全解析
Jun 26 #Python
Python实现快速排序算法及去重的快速排序的简单示例
Jun 26 #Python
python结合selenium获取XX省交通违章数据的实现思路及代码
Jun 26 #Python
理解生产者消费者模型及在Python编程中的运用实例
Jun 26 #Python
python安装mysql-python简明笔记(ubuntu环境)
Jun 25 #Python
You might like
php设计模式 State (状态模式)
2011/06/26 PHP
100行PHP代码实现socks5代理服务器
2016/04/28 PHP
DEFER怎么用?
2006/07/01 Javascript
javascript TextArea动态显示剩余字符
2008/10/22 Javascript
JavaScript 捕获窗口关闭事件
2009/07/26 Javascript
javascript 实现 秒杀,团购 倒计时展示的记录 分享
2013/07/12 Javascript
可选择和输入的下拉列表框示例
2013/11/05 Javascript
深入理解JavaScript系列(25):设计模式之单例模式详解
2015/03/03 Javascript
JQuery ztree带筛选、异步加载实例讲解
2016/02/25 Javascript
浅析如何利用JavaScript进行语音识别
2016/10/27 Javascript
利用js来实现缩略语列表、文献来源链接和快捷键列表
2016/12/16 Javascript
Vue数据驱动模拟实现4
2017/01/12 Javascript
细说webpack源码之compile流程-rules参数处理技巧(1)
2017/12/26 Javascript
Node.js 使用request模块下载文件的实例
2018/09/05 Javascript
使用Angular Cli如何创建Angular私有库详解
2019/01/30 Javascript
JQuery样式操作、click事件以及索引值-选项卡应用示例
2019/05/14 jQuery
Vue中的transition封装组件的实现方法
2019/08/13 Javascript
vue中使用router全局守卫实现页面拦截的示例
2020/10/23 Javascript
Python3读取zip文件信息的方法
2015/05/22 Python
Python实现将文本生成二维码的方法示例
2017/07/18 Python
Python实现二维数组输出为图片
2018/04/03 Python
python之文件读取一行一行的方法
2018/07/12 Python
对python捕获ctrl+c手工中断程序的两种方法详解
2018/12/26 Python
python交互界面的退出方法
2019/02/16 Python
python统计文章中单词出现次数实例
2020/02/27 Python
Python使用itcaht库实现微信自动收发消息功能
2020/07/13 Python
CSS3 3D立方体效果示例-transform也不过如此
2016/12/05 HTML / CSS
莫斯科高科技在线商店:KremlinStore
2019/03/13 全球购物
全球工业:Global Industrial
2020/02/01 全球购物
初中生学习生活的自我评价
2013/11/20 职场文书
车间机修工岗位职责
2014/02/28 职场文书
学校评语大全
2014/05/06 职场文书
环保宣传标语
2014/06/12 职场文书
人事任命通知书
2015/04/21 职场文书
《乘法分配律》教学反思
2016/02/24 职场文书
Django使用echarts进行可视化展示的实践
2021/06/10 Python