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 16 Python
常用python编程模板汇总
Feb 12 Python
利用python批量修改word文件名的方法示例
Oct 17 Python
python opencv检测目标颜色的实例讲解
Apr 02 Python
PyQt5实现下载进度条效果
Apr 19 Python
Python异常的检测和处理方法
Oct 26 Python
OpenCV 轮廓检测的实现方法
Jul 03 Python
jupyter 使用Pillow包显示图像时inline显示方式
Apr 24 Python
python 实现分组求和与分组累加求和代码
May 18 Python
Python使用os.listdir和os.walk获取文件路径
May 21 Python
python访问hdfs的操作
Jun 06 Python
Python用any()函数检查字符串中的字母以及如何使用all()函数
Apr 14 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将数据导入到Foxmail的实现代码
2010/09/05 PHP
codeigniter自带数据库类使用方法说明
2014/03/25 PHP
composer.lock文件的作用
2016/02/03 PHP
php记录搜索引擎爬行记录的实现代码
2018/03/02 PHP
PDO::setAttribute讲解
2019/01/29 PHP
SWFObject 2.1以上版本语法介绍
2010/07/10 Javascript
20款效果非常棒的 jQuery 插件小结分享
2011/11/18 Javascript
打造个性化的功能强大的Jquery虚拟键盘(VirtualKeyboard)
2014/10/11 Javascript
javascript运动效果实例总结(放大缩小、滑动淡入、滚动)
2016/01/08 Javascript
Vue如何实现组件的源码解析
2017/06/08 Javascript
在Create React App中使用CSS Modules的方法示例
2019/01/15 Javascript
Vue 权限控制的两种方法(路由验证)
2019/08/16 Javascript
React路由鉴权的实现方法
2019/09/05 Javascript
如何利用Node.js与JSON搭建简单的动态服务器
2020/06/16 Javascript
JavaScript常用8种数组去重代码实例
2020/09/09 Javascript
js+canvas实现刮刮奖功能
2020/09/13 Javascript
让你30分钟快速掌握vue3教程
2020/10/26 Javascript
python实现BackPropagation算法
2017/12/14 Python
Python字符串拼接六种方法介绍
2017/12/18 Python
使用python验证代理ip是否可用的实现方法
2018/07/25 Python
python利用插值法对折线进行平滑曲线处理
2018/12/25 Python
python使用selenium登录QQ邮箱(附带滑动解锁)
2019/01/23 Python
使用Django和Postgres进行全文搜索的实例代码
2020/02/13 Python
利用PyQt中的QThread类实现多线程
2020/02/18 Python
Python 解决火狐浏览器不弹出下载框直接下载的问题
2020/03/09 Python
python json.dumps() json.dump()的区别详解
2020/07/14 Python
HTML5 CSS3新的WEB标准和浏览器支持
2009/07/16 HTML / CSS
德国原装品牌香水、化妆品和手表网站:BRASTY.DE
2016/10/16 全球购物
美国高品质个性化珠宝销售网站:Jewlr
2018/05/03 全球购物
简单的JAVA编程面试题
2013/03/19 面试题
欢送退休感言
2014/02/08 职场文书
2014年班干部工作总结
2014/11/25 职场文书
法制教育讲座心得体会
2016/01/14 职场文书
初中英语教学反思范文
2016/02/15 职场文书
导游词之日月潭
2019/11/05 职场文书
SQL Server中交叉联接的用法详解
2021/04/22 SQL Server