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使用正则表达式分析网页中的图片并进行替换的方法
Mar 26 Python
python中__call__内置函数用法实例
Jun 04 Python
使用Python编写简单的端口扫描器的实例分享
Dec 18 Python
python多进程中的内存复制(实例讲解)
Jan 05 Python
Python即时网络爬虫项目启动说明详解
Feb 23 Python
pandas按若干个列的组合条件筛选数据的方法
Apr 11 Python
解决python 自动安装缺少模块的问题
Oct 22 Python
实例详解python函数的对象、函数嵌套、名称空间和作用域
May 31 Python
python print出共轭复数的方法详解
Jun 25 Python
如何以Winsows Service方式运行JupyterLab
Aug 30 Python
pytorch使用horovod多gpu训练的实现
Sep 09 Python
详解Python自动化之文件自动化处理
Jun 21 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
多文件上传的例子
2006/10/09 PHP
PHP数组操作汇总 php数组的使用技巧
2011/07/17 PHP
PH P5.2至5.5、5.6的新增功能详解
2014/07/14 PHP
php中运用http调用的GET和POST方法示例
2014/09/29 PHP
PHP实现的简单适配器模式示例
2017/06/22 PHP
php+ajax实现无刷新文件上传功能(ajaxuploadfile)
2018/02/11 PHP
PHPStorm2020.1永久激活及下载更新至2020(推荐)
2020/09/25 PHP
Jquery命名冲突解决的五种方案分享
2012/03/16 Javascript
修改file按钮的默认样式实现代码
2013/04/23 Javascript
javascript实现存储hmtl字符串示例
2014/04/25 Javascript
基于jquery实现的可编辑下拉框实现代码
2014/08/02 Javascript
NodeJs安装npm包一直失败的解决方法
2017/04/28 NodeJs
bootstrap的工具提示实例代码
2017/05/17 Javascript
使用vue实现简单键盘的示例(支持移动端和pc端)
2017/12/25 Javascript
JavaScript实现多叉树的递归遍历和非递归遍历算法操作示例
2018/02/08 Javascript
详解js模板引擎art template数组渲染的方法
2018/10/09 Javascript
vue鼠标悬停事件实例详解
2019/04/01 Javascript
JavaScript中callee和caller的区别与用法实例分析
2019/06/28 Javascript
node实现爬虫的几种简易方式
2019/08/22 Javascript
Node.js API详解之 zlib模块用法分析
2020/05/19 Javascript
原生js+canvas实现验证码
2020/11/29 Javascript
python 实现插入排序算法
2012/06/05 Python
零基础写python爬虫之爬虫的定义及URL构成
2014/11/04 Python
Python进程间通信用法实例
2015/06/04 Python
python GUI实例学习
2017/11/21 Python
python+openCV利用摄像头实现人员活动检测
2019/06/22 Python
HTML5样式控制示例代码
2013/11/27 HTML / CSS
写一个在SQL Server创建表的SQL语句
2012/03/10 面试题
法雷奥SQA(electric)面试问题
2016/01/23 面试题
《理想的风筝》教学反思
2014/04/11 职场文书
村党支部换届选举方案
2014/05/02 职场文书
初中班主任经验交流材料
2014/05/16 职场文书
先进个人自荐书
2015/03/06 职场文书
六一亲子活动感想
2015/08/07 职场文书
运动会100米广播稿
2015/08/19 职场文书
股权投资协议书
2016/03/23 职场文书