文档章节

python设计模式(四)--代理模式(中)

极光火狐狸
 极光火狐狸
发布于 2016/05/12 17:24
字数 211
阅读 108
收藏 4

「深度学习福利」大神带你进阶工程师,立即查看>>>

 

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# __author__ = 'https://github.com/faif'

import time


class SalesManager:
    """真实实体类对象, 它就没有采用公共接口."""
    def work(self):
        print("Sales Manager working...")

    def talk(self):
        print("Sales Manager ready to talk")


class Proxy:
    """
    代理类, 需要加载(SalesManager())真实实体类对象, 
    利用这个真实实体类所提供的方法为外部人员提供服务
    """
    def __init__(self):
        self.busy = 'No'
        self.sales = None

    def work(self):
        print("Proxy checking for Sales Manager availability")
        if self.busy == 'No':
            self.sales = SalesManager()
            time.sleep(2)
            self.sales.talk()
        else:
            time.sleep(2)
            print("Sales Manager is busy")


class NoTalkProxy(Proxy):
    def __init__(self):
        Proxy.__init__(self)

    def work(self):
        print("Proxy checking for Sales Manager availability")
        time.sleep(2)
        print("This Sales Manager will not talk to you whether he/she is busy or not")


if __name__ == '__main__':
    p = Proxy()
    p.work()
    p.busy = 'Yes'
    p.work()
    p = NoTalkProxy()
    p.work()
    p.busy = 'Yes'
    p.work()

 

极光火狐狸
粉丝 11
博文 29
码字总数 14739
作品 0
普陀
私信 提问
加载中
请先登录后再评论。
漏洞检测工具--Peach Fuzzer

Peach是一种用Python编写的 Fuzzer。这种工具有助于发现并公开许多漏洞,并认为是黑客和安全团体中最流行的工具之一。为了利用Peach框架,必须创建Phthon脚本,脚本 中包含了在服务器上执行的...

匿名
2013/02/06
8.9K
1
Python开发者社区整站源码--Pythoner

pythoner.net 整站源代码 依赖模块 Django 1.4.2 PIL DjangoVerifyCode 0.2.2 开发环境配置 运行scripts目录下的setupenv.sh文件,将会自动安装配置所需环境 设置本地环境变量:export env=D...

~T.y~
2013/04/10
3.2K
0
阿里云开放存储服务的C语言SDK--OSSC

OSSC(Aliyun Open Storage Service C SDK)为阿里云开放存储服务(OSS)提供了一套完整易用的C SDK。 OSSC完全采用C语言开发,并实现了类似面向对象的调用方式,遵循了良好的编码规范,目前O...

大卷卷
2012/10/22
4.6K
0
Ajax 文件上传组件--fineuploader

Fine Uploader 是一个采用Ajax技术实现的文件上传组件,支持拖拽文件上传。使用很简便,只需在页面中引入相应的CSS+JavaScript,剩下的就只服务器端处理逻辑。在其提供的下载包中已经有多种语...

匿名
2012/10/27
1.5W
2
Python数据分析工具包--Pandas

Python Data Analysis Library 或 pandas 是连接 SciPy 和 NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集...

匿名
2012/10/30
2.1W
2

没有更多内容

加载失败,请刷新页面

加载更多

02-敏捷的核心价值观

敏捷金字塔 敏捷所包含的知识领域可以概括为一个金字塔结构,金字塔的最底层,也就是一切的根基是敏捷的核心价值观,也就是著名的《敏捷宣言》,中间支撑的部分是敏捷的12项原则,而最顶层则...

杨久成
06/18
0
0
你还不知道 OpenGL ES 和 EGL 的关系?

什么是 EGL EGL 是 OpenGL ES 和本地窗口系统(Native Window System)之间的通信接口,它的主要作用: 与设备的原生窗口系统通信; 查询绘图表面的可用类型和配置; 创建绘图表面; 在OpenG...

ByteFlow
今天
0
0
Asp.net Core 微信小程序支付

最近要做一个微信小程序支付的功能 在网上找了一下 .net Core做微信支付的博客 和 demo 几乎没有 自己研究了好几天 参考了 很多 大牛的博客 勉强做出来了 因为参数都没有 比如 opid 小程序域...

osc_ix000whh
7分钟前
0
0
腾讯云 Serverless 衔接 Kafka 上下游数据流转实战

导语:腾讯云 CKafka 作为大数据架构中的关键组件,起到了数据聚合,流量削峰,消息管道的作用。在 CKafka 上下游中的数据流转中有各种优秀的开源解决方案。如 Logstash,File Beats,Spark...

腾讯云中间件
昨天
0
0
「真香警告」鱼头手摸手教你在小程序里用composition-api

使用 使用起来应该像是这个样子 wxue(options) setup 配置应该是包含一个setup选项是一个函数,返回的函数可以this.xxx调用,返回的数据可以this.data.xxx用到,如下 import { wxue, rea...

陈大鱼头
昨天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部