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实现清屏的方法
Apr 30 Python
使用Python解析JSON数据的基本方法
Oct 15 Python
Python中的FTP通信模块ftplib的用法整理
Jul 08 Python
Python基于OpenCV实现视频的人脸检测
Jan 23 Python
用python实现刷点击率的示例代码
Feb 21 Python
Django基础知识 web框架的本质详解
Jul 18 Python
python 比较2张图片的相似度的方法示例
Dec 18 Python
Python JSON常用编解码方法代码实例
Sep 05 Python
使用OpenCV实现人脸图像卡通化的示例代码
Jan 15 Python
pycharm配置QtDesigner的超详细方法
Jan 25 Python
python之PySide2安装使用及QT Designer UI设计案例教程
Jul 26 Python
Python进程池与进程锁之语法学习
Apr 11 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
使用 eAccelerator加速PHP代码的目的
2007/03/16 PHP
php导出生成word的方法
2015/12/25 PHP
PHP基于反射机制实现插件的可插拔设计详解
2016/11/10 PHP
PHP 表单提交及处理表单数据详解及实例
2016/12/27 PHP
PHP开发中解决并发问题的几种实现方法分析
2017/11/13 PHP
thinkPHP5框架分页样式类完整示例
2018/09/01 PHP
jquery插件制作教程 txtHover
2012/08/17 Javascript
javascript使用appendChild追加节点实例
2015/01/12 Javascript
使用jquery 简单实现下拉菜单
2015/01/14 Javascript
JavaScript获取当前网页标题(title)的方法
2015/04/03 Javascript
jquery实现横向图片轮播特效代码分享
2015/11/19 Javascript
JavaScript和jquery获取父级元素、子级元素、兄弟元素的方法
2016/06/05 Javascript
JavaScript实战(原生range和自定义特效)简单实例
2016/08/21 Javascript
通过bootstrap全面学习less
2016/11/09 Javascript
JS中实现隐藏部分姓名或者电话号码的代码
2018/07/17 Javascript
深入浅出理解JavaScript高级定时器原理与用法
2018/08/02 Javascript
[01:18:31]DOTA2-DPC中国联赛定级赛 LBZS vs Magma BO3第一场 1月10日
2021/03/11 DOTA
给Python的Django框架下搭建的BLOG添加RSS功能的教程
2015/04/08 Python
在Django中限制已登录用户的访问的方法
2015/07/23 Python
python模块之re正则表达式详解
2017/02/03 Python
python将秒数转化为时间格式的实例
2018/09/16 Python
python字符串格式化方式解析
2019/10/19 Python
Python实现淘宝秒杀功能的示例代码
2021/01/19 Python
iRobot官网:改变生活的家用机器人品牌
2016/09/20 全球购物
七匹狼男装广告词
2014/03/21 职场文书
土建工程师岗位职责
2014/06/10 职场文书
应聘护士求职信
2014/07/21 职场文书
公司授权委托书格式范文
2014/10/02 职场文书
2014年政工师工作总结
2014/12/18 职场文书
2015年求职自荐信范文
2015/03/04 职场文书
东京审判观后感
2015/06/01 职场文书
蜗居观后感
2015/06/11 职场文书
党员观看《筑梦中国》心得体会
2016/01/18 职场文书
如何判断pytorch是否支持GPU加速
2021/06/01 Python
如何利用Python实现n*n螺旋矩阵
2022/01/18 Python
「约定的梦幻岛」作画发布诺曼生日新绘
2022/03/21 日漫