#!/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')
其他参考:
(1)python教程:hello world
(2)python教程:数据类型和运算规则
(3)python教程:元组,列表,词典
(4)python教程:分支、循环
(5)python教程:函数
(6)python教程:class
(8)python教程:几行代码搞定python 设计模式
分享到:
相关推荐
深度学习:Python 教程:使用 Keras、Python、Theano 和 TensorFlow 开发深度学习模型
python写的几行代码实现2048游戏
8. **版本控制**:源代码文件可能包含了使用Git进行版本控制的相关示例,包括初始化仓库、添加文件、提交更改、分支管理和合并冲突等。 9. **Web开发**:可能涉及到使用Flask或Django等Python Web框架创建简单的Web...
├─千锋Python教程:第01章 第一个Python程序与数据存储及数据类型(9集) │ │ .DS_Store │ │ │ ├─code │ │ 1、数据存储.txt │ │ 2、第一个python程序.py │ │ 3、注释.py │ │ 4、输出与输入.py │ ...
Python毕业设计:车牌识别系统源码Python毕业设计:车牌识别系统源码Python毕业设计:车牌识别系统源码Python毕业设计:车牌识别系统源码Python毕业设计:车牌识别系统源码Python毕业设计:车牌识别系统源码Python...
Python:发送qq邮箱只需几行代码轻松搞定 在日常业务中,经常会遇到需要程序发邮件提醒自己的情况。例如数据异常、工作任务进度完成情况、今日天气、今日股票行情等各种场景。如果引入发送邮箱以推进预期进度的功能...
python安装:Python 安装与配置的详细教程 python安装:Python 安装与配置的详细教程 python安装:Python 安装与配置的详细教程 python安装:Python 安装与配置的详细教程 python安装:Python 安装与配置的详细教程 ...
《零基础:21天搞定Python分布爬虫》这个课程针对初学者,旨在通过21天的学习,帮助大家掌握Python爬虫的基础知识以及分布式爬虫的实现。下面,我们将深入探讨该课程可能涵盖的一些关键知识点。 首先,Python爬虫的...
Python全套教程 Python基础python基础课代码+文档2023最新教程【樵夫教你学Python】Python全套教程 Python基础python基础课代码+文档2023最新教程【樵夫教你学Python】Python全套教程 Python基础python基础课代码+...
《简明Python教程》是一本面向初学者的Python编程指南,旨在帮助读者快速掌握Python语言的基础知识和核心概念。Python是一种广泛应用于数据处理、Web开发、科学计算等领域的高级编程语言,以其简洁、易读的语法深受...
《Python基础教程》第三版源代码是一份详细的学习资源,涵盖了Python编程的多个核心概念和实践技巧。这个源代码集合包括了从基础语法到高级特性的各种示例,旨在帮助初学者逐步掌握Python编程。 在Python的基础部分...
Python基础教程(代码详解).pdfPython基础教程(代码详解).pdfPython基础教程(代码详解).pdfPython基础教程(代码详解).pdfPython基础教程(代码详解).pdfPython基础教程(代码详解).pdfPython基础教程(代码...
Python编程三剑客第3版:Python编程从入门到实践第3版快速上手第 《Python编程三剑客第3版:Python编程从入门到实践第3版快速上手第》是一本介绍Python编程语言及其应用领域的书籍,适合对Python编程感兴趣的读者...
在本压缩包“pythonGame”中,包含了丰富的Python编程资源,特别适合于学习者进行Python课程设计和小作业实践。这个包重点展示了Python在游戏开发中的应用,通过乒乓球游戏和滑雪游戏的源代码,我们可以深入理解如何...
书中通过大量实用的范例代码和三个完整的案例研究,全面而系统地讲解了如何运用设计模式来规划代码结构,如何通过并发与cython等技术提升代码执行速度,以及如何利用各种python程序库来快速开发具体的应用程序和游戏...
简明python教程+源代码,英文原版名为《A Byte of Python》。它非常简明扼要地介绍了Python语言基础的各个方面。 适合群体: 仅仅临时使用Python的新手,非专业性地临时运用十来行简单代码就能自动化处理一些工作。 ...
千锋教育 Python 视频教程 www.qfedu.com/video 做真实的自己-用良心做教育 python 入门配套教程百度云分享 Python 由于其简单,快速,库丰富的特点在国内使用的越来越广泛。最 近几年它出现了爆发式的增长,而且与...
千锋python基础教程:8、os与窗口控制与内存修改与语言 第二章前端基础 1、html&css;基础 2、html&css;提升 3、JavaScript基础 4、JavaScript提升 5、JavaScript进阶与轮播和飞机大战坦克 6、JQuery基础 7、...
源代码中可能会有各种示例来解释这些概念,帮助读者掌握面向对象的设计模式。 3. **异常处理**:在Python中,错误和异常是通过try/except块进行处理的。源代码文件可能包含异常处理的例子,演示如何优雅地处理可能...