#!/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游戏
├─千锋Python教程:第04章 列表&元组&流程控制语句(8集) │ │ .DS_Store │ │ │ ├─code │ │ 1、list(列表).py │ │ 2、列表方法.py │ │ 3、浅拷贝与深拷贝.py │ │ 4、tuple(元组).py │ │ 5、条件...
《Python编程:从入门到实践》源代码文件
├─千锋Python教程:第01章 第一个Python程序与数据存储及数据类型(9集) │ │ .DS_Store │ │ │ ├─code │ │ 1、数据存储.txt │ │ 2、第一个python程序.py │ │ 3、注释.py │ │ 4、输出与输入.py │ ...
Python毕业设计:车牌识别系统源码Python毕业设计:车牌识别系统源码Python毕业设计:车牌识别系统源码Python毕业设计:车牌识别系统源码Python毕业设计:车牌识别系统源码Python毕业设计:车牌识别系统源码Python...
Python 万能代码模版:爬虫代码篇.pdf Python 万能代码模版:爬虫代码篇.pdf Python 万能代码模版:爬虫代码篇.pdf Python 万能代码模版:爬虫代码篇.pdf Python 万能代码模版:爬虫代码篇.pdf Python 万能代码模版...
Python:发送qq邮箱只需几行代码轻松搞定 在日常业务中,经常会遇到需要程序发邮件提醒自己的情况。例如数据异常、工作任务进度完成情况、今日天气、今日股票行情等各种场景。如果引入发送邮箱以推进预期进度的功能...
PYTHON学习教程:循环代码知识点讲解(for...in、list、tuple元素迭代练习).docx
python_oneline.py: 几个小例子告诉你, 一行Python代码能干哪些事 python_requests.py: Python中最好用的爬虫库Requests代码实例 python_functional.py: Python进阶: 函数式编程实例(附代码) python_decorator.py:...
python基础教程源代码-python基础教程第三版源代码 【实例简介】 python基础教程第三版源代码 python基础教程第三版源代码 【实例截图】 【核⼼代码】 Beginning_Python_version3_SourceCode Beginning Python_...
PYTHON学习教程:调用函数代码知识点讲解及练习.docx
python入门教程,适合初学者了解使用python,讲解平实,例程简练
07-2:Python课程 教程 进阶 PYTHON函数:参数列表、内存分配、设计原则、递归
07-1:Python课程 教程 进阶 PYTHON函数:参数列表、内存分配、设计原则、递归
书中通过大量实用的范例代码和三个完整的案例研究,全面而系统地讲解了如何运用设计模式来规划代码结构,如何通过并发与cython等技术提升代码执行速度,以及如何利用各种python程序库来快速开发具体的应用程序和游戏...
PYTHON学习教程资源:切片代码练习.docx
本书包括Python程序设计的方方面面:首先从Python的安装开始,随后介绍了Python的基础知识和基本概念,包括列表、元组、字符串、字典以及各种语句;然后循序渐进地介绍了一些相对高级的主题,包括抽象、异常、魔法...
简明python教程+源代码,英文原版名为《A Byte of Python》。它非常简明扼要地介绍了Python语言基础的各个方面。 适合群体: 仅仅临时使用Python的新手,非专业性地临时运用十来行简单代码就能自动化处理一些工作。 ...
PYTHON学习教程资源:迭代代码作业练习.docx