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使用saltstack生成服务器资产清单
Mar 01 Python
浅谈Python的异常处理
Jun 19 Python
Python rstrip()方法实例详解
Nov 11 Python
python 实现批量替换文本中的某部分内容
Dec 13 Python
Tensorflow 实现分批量读取数据
Jan 04 Python
Python参数传递及收集机制原理解析
Jun 05 Python
Pytorch mask-rcnn 实现细节分享
Jun 24 Python
Python下载网易云歌单歌曲的示例代码
Aug 12 Python
pycharm激活码免费分享适用最新pycharm2020.2.3永久激活
Nov 25 Python
python 实现的IP 存活扫描脚本
Dec 10 Python
python 基于opencv 实现一个鼠标绘图小程序
Dec 11 Python
python 实现socket服务端并发的四种方式
Dec 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
Zend Framework实现具有基本功能的留言本(附demo源码下载)
2016/03/22 PHP
Smarty模板引擎缓存机制详解
2016/05/23 PHP
php自定义截取中文字符串-utf8版
2017/02/27 PHP
jquery 表单取值常用代码
2009/12/22 Javascript
基于jQuery的Tab选项框效果代码(插件)
2011/03/01 Javascript
jquery 关于event.target使用的几点说明介绍
2013/04/26 Javascript
Js判断参数(String,Array,Object)是否为undefined或者值为空
2013/11/04 Javascript
JavaScript使用setInterval()函数实现简单轮询操作的方法
2015/02/02 Javascript
简单理解vue中el、template、replace元素
2016/10/27 Javascript
全面总结Javascript对数组对象的各种操作
2017/01/22 Javascript
微信小程序 动画的简单实例
2017/10/12 Javascript
vue.js 底部导航栏 一级路由显示 子路由不显示的解决方法
2018/03/09 Javascript
vue两个组件间值的传递或修改方式
2018/07/04 Javascript
Vue2.0生命周期的理解
2018/08/20 Javascript
vue+element表格导出为Excel文件
2019/09/26 Javascript
vue.js的简单自动求和计算实例
2019/11/08 Javascript
vue点击标签切换选中及互相排斥操作
2020/07/17 Javascript
jquery+ajax实现异步上传文件显示进度条
2020/08/17 jQuery
vue 实现element-ui中的加载中状态
2020/11/11 Javascript
[00:15]TI9观赛名额抽取
2019/07/10 DOTA
Python基本数据类型详细介绍
2014/03/11 Python
详解Python的Flask框架中的signals信号机制
2016/06/13 Python
深入浅析ImageMagick命令执行漏洞
2016/10/11 Python
Python 3.3实现计算两个日期间隔秒数/天数的方法示例
2019/01/07 Python
搭建python django虚拟环境完整步骤详解
2019/07/08 Python
pytorch中获取模型input/output shape实例
2019/12/30 Python
解决运行django程序出错问题 'str'object has no attribute'_meta'
2020/07/15 Python
python使用Windows的wmic命令监控文件运行状况,如有异常发送邮件报警
2021/01/30 Python
澳大利亚天然护肤品、化妆品和健康产品一站式商店:Nourished Life
2018/12/02 全球购物
自我评价范文
2013/12/22 职场文书
物理教学随笔感言
2014/02/22 职场文书
机械电子工程专业自荐书
2014/06/10 职场文书
2014年个人思想工作总结
2014/11/27 职场文书
2015年见习期工作总结
2014/12/12 职场文书
经典格言警句:没有热忱,世间便无进步
2019/11/13 职场文书
据Python爬虫不靠谱预测可知今年双十一销售额将超过6000亿元
2021/11/11 Python