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 提取文件的小程序
Jul 29 Python
python实现自动更换ip的方法
May 05 Python
自动化Nginx服务器的反向代理的配置方法
Jun 28 Python
Django应用程序中如何发送电子邮件详解
Feb 04 Python
Django实现自定义404,500页面教程
Mar 26 Python
MySQL适配器PyMySQL详解
Sep 20 Python
python实现感知器
Dec 19 Python
python+selenium实现登录账户后自动点击的示例
Dec 22 Python
使用Python制作微信跳一跳辅助
Jan 31 Python
python树莓派红外反射传感器
Jan 21 Python
python在OpenCV里实现投影变换效果
Aug 30 Python
python打开文件的方式有哪些
Jun 29 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
实用函数5
2007/11/08 PHP
PHP $_SERVER详解
2009/01/16 PHP
phpmyadmin MySQL 加密配置方法
2009/07/05 PHP
PHP和JAVA中的重载(overload)和覆盖(override) 介绍
2012/03/01 PHP
PHP命令行脚本接收传入参数的三种方式
2014/08/20 PHP
php高性能日志系统 seaslog 的安装与使用方法分析
2020/02/29 PHP
利用js跨页面保存变量做菜单的方法
2008/01/17 Javascript
JavaScript入门教程(3) js面向对象
2009/01/31 Javascript
关于js拖拽上传 [一个拖拽上传修改头像的流程]
2011/07/13 Javascript
JavaScript实现维吉尼亚(Vigenere)密码算法实例
2013/11/22 Javascript
jQuery 动态云标签插件
2014/11/11 Javascript
JQuery学习总结【二】
2016/12/01 Javascript
Vue.js实战之使用Vuex + axios发送请求详解
2017/04/04 Javascript
vue前后分离调起微信支付
2019/07/29 Javascript
layui点击按钮页面会自动刷新的解决方案
2019/10/25 Javascript
[01:00:52]2018DOTA2亚洲邀请赛 4.4 淘汰赛 EG vs LGD 第一场
2018/04/05 DOTA
python xml解析实例详解
2016/11/14 Python
python机器学习之决策树分类详解
2017/12/20 Python
python学生信息管理系统(完整版)
2020/04/05 Python
Python 实现子类获取父类的类成员方法
2019/01/11 Python
python3+selenium实现qq邮箱登陆并发送邮件功能
2019/01/23 Python
Python3利用Dlib实现摄像头实时人脸检测和平铺显示示例
2019/02/21 Python
在Pycharm中调试Django项目程序的操作方法
2019/07/17 Python
Python (Win)readline和tab补全的安装方法
2019/08/27 Python
使用OpenCV-python3实现滑动条更新图像的Canny边缘检测功能
2019/12/12 Python
Python xlrd excel文件操作代码实例
2020/03/10 Python
python实现3D地图可视化
2020/03/25 Python
Jupyter安装拓展nbextensions及解决官网下载慢的问题
2021/03/03 Python
法国一家芭蕾舞鞋公司:Repetto
2018/11/12 全球购物
英国奢华护肤、美容和Spa品牌:Temple Spa
2019/11/02 全球购物
vue+django实现下载文件的示例
2021/03/24 Vue.js
省文明单位申报材料
2014/05/08 职场文书
特教教师先进事迹
2014/05/21 职场文书
HR必备:超全面的薪酬待遇管理方案!
2019/07/12 职场文书
Python实现滑雪小游戏
2021/09/25 Python