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基于pygame模块播放MP3的方法示例
Sep 30 Python
python读取文本中数据并转化为DataFrame的实例
Apr 10 Python
浅谈python3.x pool.map()方法的实质
Jan 16 Python
python实现K近邻回归,采用等权重和不等权重的方法
Jan 23 Python
Python将列表数据写入文件(txt, csv,excel)
Apr 03 Python
python批量下载抖音视频
Jun 17 Python
Python3安装psycopy2以及遇到问题解决方法
Jul 03 Python
python+logging+yaml实现日志分割
Jul 22 Python
pygame实现俄罗斯方块游戏(基础篇3)
Oct 29 Python
Python range与enumerate函数区别解析
Feb 28 Python
分享PyCharm最新激活码(真永久激活方法)不用每月找安装参数或最新激活码了
Dec 27 Python
python中mongodb包操作数据库
Apr 19 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
实现 win2003 下 mysql 数据库每天自动备份
2006/12/06 PHP
PHP的分页功能
2007/03/21 PHP
PHP迅雷、快车、旋风下载专用链转换代码
2010/06/15 PHP
Laravel中获取路由参数Route Parameters的五种方法示例
2017/09/29 PHP
PHP面向对象五大原则之单一职责原则(SRP)详解
2018/04/04 PHP
jQuery筛选器children()案例详解(图文)
2013/02/17 Javascript
使用jQuery在移动页面上添加按钮和给按钮添加图标
2015/12/04 Javascript
WordPress中利用AJAX异步获取评论用户头像的方法
2016/01/08 Javascript
js替换字符串中所有指定的字符(实现代码)
2016/08/17 Javascript
详解Vue路由History mode模式中页面无法渲染的原因及解决
2017/09/28 Javascript
Angular中支持SCSS的方法
2017/11/18 Javascript
JS中判断某个字符串是否包含另一个字符串的五种方法
2018/05/03 Javascript
npm 更改默认全局路径以及国内镜像的方法
2018/05/16 Javascript
Vue2.X 通过AJAX动态更新数据
2018/07/17 Javascript
vue实现商品加减计算总价的实例代码
2018/08/12 Javascript
NestJs 静态目录配置详解
2019/03/12 Javascript
微信头像地址失效踩坑记附带解决方案
2019/09/23 Javascript
微信小程序实现单个卡片左滑显示按钮并防止上下滑动干扰功能
2019/12/06 Javascript
[54:51]Ti4 冒泡赛第二轮LGD vs C9 3
2014/07/14 DOTA
Python实现新浪博客备份的方法
2016/04/27 Python
Django Admin 实现外键过滤的方法
2017/09/29 Python
django rest framework 数据的查找、过滤、排序的示例
2018/06/25 Python
Django中日期处理注意事项与自定义时间格式转换详解
2018/08/06 Python
python判断自身是否正在运行的方法
2019/08/08 Python
Python笔记之观察者模式
2019/11/20 Python
Pytorch之contiguous的用法
2019/12/31 Python
python使用ctypes调用扩展模块的实例方法
2020/01/28 Python
Scrapy项目实战之爬取某社区用户详情
2020/09/17 Python
Pycharm如何自动生成头文件注释
2020/11/14 Python
tensorflow2.0教程之Keras快速入门
2021/02/20 Python
nohup的用法
2012/11/26 面试题
大三学习计划书范文
2014/05/02 职场文书
小组名称和口号
2014/06/09 职场文书
班组拓展活动方案
2014/08/14 职场文书
领导干部整治奢华浪费之风思想汇报
2014/10/07 职场文书
2014年小学教学工作总结
2014/11/13 职场文书