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程序员易犯的错误
Dec 15 Python
Python装饰器基础详解
Mar 09 Python
Python基础语言学习笔记总结(精华)
Nov 14 Python
Django添加KindEditor富文本编辑器的使用
Oct 24 Python
用Python编写一个高效的端口扫描器的方法
Dec 20 Python
Python中的heapq模块源码详析
Jan 08 Python
python实现控制台打印的方法
Jan 12 Python
linux 下python多线程递归复制文件夹及文件夹中的文件
Jan 02 Python
Python reshape的用法及多个二维数组合并为三维数组的实例
Feb 07 Python
Python的scikit-image模块实例讲解
Dec 30 Python
pytorch实现ResNet结构的实例代码
May 17 Python
如何理解及使用Python闭包
Jun 01 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
Windows下IIS6/Apache2.2.4+MySQL5.2+PHP5.2.1安装配置方法
2007/05/03 PHP
PHP数组与字符串互相转换实例
2020/05/05 PHP
extjs中grid中嵌入动态combobox的应用
2011/01/01 Javascript
extjs实现选择多表自定义查询功能 前台部分(ext源码)
2011/12/20 Javascript
js限制文本框只能输入数字(正则表达式)
2012/07/15 Javascript
JQuery中如何传递参数如click(),change()等具体实现
2013/04/28 Javascript
jquery 快速回到页首的方法
2013/12/05 Javascript
js实现时间显示几天前、几小时前或者几分钟前的方法集锦
2015/05/29 Javascript
JQuery 设置checkbox值二次无效的解决方法
2016/07/22 Javascript
原生JS取代一些JQuery方法的简单实现
2016/09/20 Javascript
JavaScript 获取元素在父节点中的下标(推荐)
2017/06/28 Javascript
VUE2.0中Jsonp的使用方法
2018/05/22 Javascript
vue使用中的内存泄漏【推荐】
2018/07/10 Javascript
elementUI select组件默认选中效果实现的方法
2019/03/25 Javascript
JS使用百度地图API自动获取地址和经纬度操作示例
2019/04/16 Javascript
thinkjs微信中控之微信鉴权登陆的实现代码
2019/08/08 Javascript
ant design vue嵌套表格及表格内部编辑的用法说明
2020/10/28 Javascript
将Django使用的数据库从MySQL迁移到PostgreSQL的教程
2015/04/11 Python
python编程实现归并排序
2017/04/14 Python
python3读取MySQL-Front的MYSQL密码
2017/05/03 Python
Python基于分析Ajax请求实现抓取今日头条街拍图集功能示例
2018/07/19 Python
详解opencv Python特征检测及K-最近邻匹配
2019/01/21 Python
python Pandas库基础分析之时间序列的处理详解
2019/07/13 Python
Tensorflow实现神经网络拟合线性回归
2019/07/19 Python
python中rc1什么意思
2020/06/19 Python
Python用K-means聚类算法进行客户分群的实现
2020/08/23 Python
python如何编写类似nmap的扫描工具
2020/11/06 Python
html5中 media(播放器)的api使用指南
2014/12/26 HTML / CSS
ghd法国官方网站:英国最受欢迎的美发工具品牌
2019/04/18 全球购物
项目考察欢迎辞
2014/01/17 职场文书
生物科学专业毕业生求职信
2014/06/02 职场文书
乡文化站暑期培训方案
2014/08/28 职场文书
2014县委书记党的群众路线教育实践活动对照检查材料思想汇报
2014/09/22 职场文书
英文商务邀请函范文
2015/01/31 职场文书
一文搞懂MySQL索引页结构
2022/02/28 MySQL
Ruby GDBM操作简介及数据存储原理
2022/04/19 Ruby