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去掉字符串中空格的方法
Mar 11 Python
python time模块用法实例详解
Sep 11 Python
使用Python的web.py框架实现类似Django的ORM查询的教程
May 02 Python
Python简单遍历字典及删除元素的方法
Sep 18 Python
python实现逻辑回归的方法示例
May 02 Python
Python 实现引用其他.py文件中的类和类的方法
Apr 29 Python
pymongo中聚合查询的使用方法
Mar 22 Python
Python编程快速上手——PDF文件操作案例分析
Feb 28 Python
Python猜数字算法题详解
Mar 01 Python
python爬虫学习笔记之Beautifulsoup模块用法详解
Apr 09 Python
删除pycharm鼠标右键快捷键打开项目的操作
Jan 16 Python
Pytorch模型迁移和迁移学习,导入部分模型参数的操作
Mar 03 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框架中url大小写问题解决方法
2014/08/19 PHP
浅谈PHP解析URL函数parse_url和parse_str
2014/11/11 PHP
php设计模式之适配器模式原理、用法及注意事项详解
2019/09/24 PHP
Yii 框架使用Forms操作详解
2020/05/18 PHP
Javascript attachEvent传递参数的办法
2009/12/14 Javascript
jquery简单瀑布流实现原理及ie8下测试代码
2013/01/23 Javascript
js实现同一页面多个运动效果的方法
2015/04/10 Javascript
javascript带回调函数的异步脚本载入方法实例分析
2015/07/02 Javascript
AngularJS ng-bind 指令简单实现
2016/07/30 Javascript
jQuery简单倒计时效果完整示例
2016/09/20 Javascript
vue实现可增删查改的成绩单
2016/10/27 Javascript
jQuery实现别踩白块儿网页版小游戏
2017/01/18 Javascript
vue cli 3.0 使用全过程解析
2018/06/14 Javascript
jQuery无冲突模式详解
2019/01/17 jQuery
js实现倒计时器自定义时间和暂停
2019/02/25 Javascript
JS数组Object.keys()方法的使用示例
2019/06/05 Javascript
vue element 关闭当前tab 跳转到上一路由操作
2020/07/22 Javascript
vue 需求 data中的数据之间的调用操作
2020/08/05 Javascript
Python中关于字符串对象的一些基础知识
2015/04/08 Python
使用Python的Treq on Twisted来进行HTTP压力测试
2015/04/16 Python
python机器人行走步数问题的解决
2018/01/29 Python
Python中文件的读取和写入操作
2018/04/27 Python
Python3中正则模块re.compile、re.match及re.search函数用法详解
2018/06/11 Python
Python实现字符串匹配的KMP算法
2019/04/04 Python
详解Python学习之安装pandas
2019/04/16 Python
python实现通过flask和前端进行数据收发
2019/08/22 Python
探秘TensorFlow 和 NumPy 的 Broadcasting 机制
2020/03/13 Python
无惧面试,带你搞懂python 装饰器
2020/08/17 Python
opencv python 对指针仪表读数识别的两种方式
2021/01/14 Python
python自动生成证件号的方法示例
2021/01/14 Python
css3制作彩色边线3d立体按钮的示例(css3按钮)
2014/05/06 HTML / CSS
html5定位并在百度地图上显示的示例
2014/04/27 HTML / CSS
美体小铺印度官网:The Body Shop印度
2019/10/17 全球购物
2014业务员年终工作总结
2014/12/09 职场文书
会议接待欢迎词范文
2015/01/26 职场文书
工作总结之小学教师体育工作范文(3篇)
2019/10/07 职场文书