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 15 Python
python+POP3实现批量下载邮件附件
Jun 19 Python
python实现猜单词小游戏
May 22 Python
python如何查看微信消息撤回
Nov 27 Python
python 格式化输出百分号的方法
Jan 20 Python
python 多线程重启方法
Feb 18 Python
python简单实现矩阵的乘,加,转置和逆运算示例
Jul 10 Python
python基于socket进行端口转发实现后门隐藏的示例
Jul 25 Python
Python 给下载文件显示进度条和下载时间的实现
Apr 02 Python
Python+PyQt5+MySQL实现天气管理系统
Jun 16 Python
Django基于Models定制Admin后台实现过程解析
Nov 11 Python
教你如何使用Python实现二叉树结构及三种遍历
Jun 18 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中文转拼音的实现代码
2014/02/11 PHP
php中session定期自动清理的方法
2015/11/12 PHP
php生成高清缩略图实例详解
2015/12/07 PHP
Jquery在IE7下无法使用 $.ajax解决方法
2009/11/11 Javascript
jquery+ajax实现跨域请求的方法
2015/01/20 Javascript
JavaScript实现图片滑动切换的代码示例分享
2016/03/06 Javascript
Jquery实现$.fn.extend和$.extend函数
2016/04/14 Javascript
JS检测移动端横竖屏的代码
2016/05/30 Javascript
JS实现星星评分功能实例代码(两种方法)
2016/06/09 Javascript
jQuery Ajax 加载数据时异步显示加载动画
2016/08/01 Javascript
Bootstrap简单表单显示学习笔记
2016/11/15 Javascript
基于bootstrap的文件上传控件bootstrap fileinput
2016/12/23 Javascript
jQuery实现的手风琴侧边菜单效果
2017/03/29 jQuery
Ionic + Angular.js实现图片轮播的方法示例
2017/05/21 Javascript
axios 处理 302 状态码的解决方法
2018/04/10 Javascript
详解element-ui日期时间选择器的日期格式化问题
2019/04/08 Javascript
vue解决花括号数据绑定不成功的问题
2019/10/30 Javascript
微信小程序实现吸顶特效
2020/01/08 Javascript
js 计算月/周的第一天和最后一天代码
2020/02/01 Javascript
VUE异步更新DOM - 用$nextTick解决DOM视图的问题
2020/11/06 Javascript
[27:08]完美世界DOTA2联赛PWL S2 SZ vs Rebirth 第二场 11.21
2020/11/23 DOTA
python字典排序实例详解
2015/05/20 Python
Python中的time模块与datetime模块用法总结
2016/06/30 Python
Python中生成Epoch的方法
2017/04/26 Python
python requests 使用快速入门
2017/08/31 Python
详解python中__name__的意义以及作用
2019/08/07 Python
python实现的登录与提交表单数据功能示例
2019/09/25 Python
Python绘图实现显示中文
2019/12/04 Python
appium+python自动化配置(adk、jdk、node.js)
2020/11/17 Python
HTML5新增的8类INPUT输入类型介绍
2015/07/06 HTML / CSS
什么是serialVersionUID
2016/03/04 面试题
感恩老师的演讲稿
2014/05/06 职场文书
计算机网络及管理学专业求职信
2014/06/05 职场文书
2014年世界艾滋病日演讲稿
2014/11/28 职场文书
单位考核鉴定意见
2015/06/05 职场文书
学习党章心得体会2016
2016/01/15 职场文书