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 实现读取一个excel多个sheet表并合并的方法
Feb 12 Python
python定时检测无响应进程并重启的实例代码
Apr 22 Python
python-xpath获取html文档的部分内容
Mar 06 Python
Python绘制全球疫情变化地图的实例代码
Apr 20 Python
解决Pycharm 中遇到Unresolved reference 'sklearn'的问题
Jul 13 Python
Anaconda使用IDLE的实现示例
Sep 23 Python
使用python画出逻辑斯蒂映射(logistic map)中的分叉图案例
Dec 11 Python
Python新建项目自动添加介绍和utf-8编码的方法
Dec 26 Python
详解python3类型注释annotations实用案例
Jan 20 Python
Spy++的使用方法及下载教程
Jan 29 Python
Django程序的优化技巧
Apr 29 Python
python opencv将多个图放在一个窗口的实例详解
Feb 28 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抓取页面的几种方法详解
2013/06/17 PHP
详解php比较操作符的安全问题
2015/12/03 PHP
[原创]smarty简单模板变量输出方法
2016/07/09 PHP
PHP面向对象五大原则之单一职责原则(SRP)详解
2018/04/04 PHP
javascript 面向对象编程  function是方法(函数)
2009/09/17 Javascript
jQuery基础知识filter()和find()实例说明
2010/07/06 Javascript
javascript中String类的subString()方法和slice()方法
2011/05/24 Javascript
将Datatable转化成json发送前台实现思路
2013/09/06 Javascript
JavaScript对内存分配及管理机制详细解析
2013/11/11 Javascript
仿百度联盟对联广告实现代码
2014/08/30 Javascript
jquery提示效果实例分析
2014/11/25 Javascript
浅谈javascript事件取消和阻止冒泡
2015/05/26 Javascript
jQuery tagsinput在h5邮件客户端中应用详解
2016/09/26 Javascript
微信小程序 获取相册照片实例详解
2016/11/16 Javascript
Vue.js系列之项目搭建(1)
2017/01/03 Javascript
超全面的JavaScript开发规范(推荐)
2017/01/21 Javascript
在 Linux/Unix 中不重启 Vim 而重新加载 .vimrc 文件的流程
2018/03/21 Javascript
vue弹窗插件实战代码
2018/09/08 Javascript
Vue.js上传图片到阿里云OSS存储的方法示例
2018/12/13 Javascript
JavaScript常见事件处理程序实例总结
2019/01/05 Javascript
Vue实战教程之仿肯德基宅急送App
2019/07/19 Javascript
[00:56]2014DOTA2国际邀请赛 DK、iG 赛前探访
2014/07/10 DOTA
Python pickle模块用法实例分析
2015/05/27 Python
详谈python http长连接客户端
2017/06/12 Python
解决python3 pika之连接断开的问题
2018/12/18 Python
Python安装与基本数据类型教程详解
2019/05/29 Python
scrapy爬虫:scrapy.FormRequest中formdata参数详解
2020/04/30 Python
丝绸和人造花卉、植物和树木:Nearly Natural
2018/11/28 全球购物
零件设计自荐信范文
2013/11/27 职场文书
大学校庆策划书
2014/01/31 职场文书
个人社会实践自我鉴定
2014/03/24 职场文书
社区服务标语
2014/07/01 职场文书
美术学专业求职信
2014/07/23 职场文书
红领巾广播站广播稿(3篇)
2014/09/20 职场文书
网吧员工管理制度
2015/08/05 职场文书
JS一分钟在github+Jekyll的博客中添加访问量功能的实现
2021/04/03 Javascript