#coding=utf-8#python装饰器'''装饰器可以用def的形式来定义。装饰器接收一个可调用对象作为输入参数,并返回一个新的可调用对象。装饰器新建了一个可调用对象,也就是return返回的函数funx,在新增的函数中,可以添加我们需要的功能,并通过调用原有函数来实现原有函数的功能'''d...
分类:
编程语言 时间:
2015-06-29 13:01:23
阅读次数:
157
方法一:装饰器利用“装饰器只会执行一次”这个特点def singleton(cls):
instances = []# 为什么这里不直接为None,因为内部函数没法访问外部函数的非容器变量
def getinstance(*args, **kwargs):
if not instances:
instances.append(cls(*args...
分类:
编程语言 时间:
2015-06-28 17:09:46
阅读次数:
220
一、设计模式的分类总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式...
分类:
其他好文 时间:
2015-06-28 14:06:58
阅读次数:
140
1 def deco(func): 2 def _deco(): 3 print("Before") 4 func() 5 print("End") 6 #return func 这里不需要返回 7 return ...
分类:
编程语言 时间:
2015-06-27 15:57:48
阅读次数:
112
__new__()方法的特性:__new__()
方法是在类准备将自身实例化时调用。__new__()
方法始终都是类的静态方法,即使没有被加上静态方法装饰器。classA(object):
def__init__(self):
print"init"
def__new__(cls,*args,**kwargs):
print"new%s"%cls
returnobject.__new__(cls,*args..
分类:
编程语言 时间:
2015-06-25 21:23:44
阅读次数:
145
编写无参数decoratorPython的decorator本质上就是一个高阶函数,它接收一个函数作为参数,然后,返回一个新函数。使用 decorator 用Python提供的@语法,这样可以避免手动编写f = decorate(f)这样的代码。考察一个@log的定义:1 def log(f):2 ...
分类:
编程语言 时间:
2015-06-25 12:14:02
阅读次数:
185
IO流的装饰器
题目分析:通过对java的io系列类分析得知,java的io流使用了设计模式中的装饰模式,以动态的给一个对象增加职责,能够更加灵活的增加功能。通过看io的源代码得知FilterOutputStream类继承了OutputStream类并拥有父类的一个对象,它和父类具有组合聚合的关系。因此要实现我们自己的加密类只需扩展FilterOutputStream类重写它的wite方法即可
...
分类:
其他好文 时间:
2015-06-23 15:43:43
阅读次数:
127
说说Python的装饰器模式与面向切面编程
今天来讨论一下装饰器。装饰器是一个很著名的设计模式,经常被用于有切面需求的场景,较为经典的有插入日志、性能测试、事务处理等。装饰器是解决这类问题的绝佳设计,有了装饰器,我们就可以抽离出大量函数中与函数功能本身无关的雷同代码并继续重用。概括的讲,装饰器的作用就是为已经存在的对象添加额外的功能。
1. 装饰器入门
1.1. ...
分类:
编程语言 时间:
2015-06-22 11:13:31
阅读次数:
178
流的类型体系 基础流 装饰器流 包装器类 帮助类 继承自基本的stream流 在基础Stream上添加的功能 数据传输 对文件流的操作变简单 基础流 Stream 对应的后备存储是文件 内存 网络资源 FileStream MemoryStream NetWorkStream IsolatedStorgaeFi...
分类:
Web程序 时间:
2015-06-21 21:08:54
阅读次数:
186
代理模式
在客户端和实体之间建立一个代理对象,客户端对实体的操作全部委派给代理对象,隐藏实体具体实现细节。
Proxy还可以与业务代码分离,部署到另外的服务器,业务代码中通过RPC来委派任务。
代理Proxy.php:
<?php
namespace Components\Proxy;
class Proxy implements IUserProxy {
fun...
分类:
Web程序 时间:
2015-06-21 09:30:42
阅读次数:
162