在第六章已经有所介绍,这里看到一篇比较好的文章转过来。
基本概念
装饰器是23z种设计模式之一,经常被用于有切面需求的场景,较为经典的有插入日志、性能测试、事务处理, Web权限校验, Cache等。
很有名的例子来理解,咖啡,加糖的咖啡,加牛奶的咖啡。 本质上,还是咖啡,只是在原有的东西上,做了“装饰”,使之附加一些功能或特性。
例如记录日志,需要对某些函数进行记录
笨的办法,每个函数...
分类:
编程语言 时间:
2015-01-14 14:21:38
阅读次数:
170
Python 函数装饰器入门原文链接: --> A guide to Python's function decoratorsPython功能强劲,语法表现力强,尤其装饰器深深的吸引着我。在设计模式中,装饰器可以在不使用子类的情况下,动态的改变函数,方法以及类的功能。这个功能非常有用,特别在你想扩展...
分类:
编程语言 时间:
2015-01-13 21:13:53
阅读次数:
154
修饰器用来包装函数,增加额外的功能,而且应能够修饰一批函数,减少代码重用。简单的修饰器一个函数接收函数对象作为参数,并且返回函数对象,这样的函数可以成为一个修饰器,形如下面的定义:defdeco(func):
def_deco(*args):
print"dosomething"
func(*args)
return_deco上..
分类:
编程语言 时间:
2015-01-13 20:04:18
阅读次数:
313
学习了代理模式和装饰模式之后,对这两个的模式的区别产生了混淆,因为两个模式都是对一个类的功能进行扩充,而且服务类和客户类都同时实现了统一个接口。 那么,两者之间有什么区别呢? 通过http://www.cnblogs.com/jaredlam/archive/2011/11/08/22410...
分类:
其他好文 时间:
2015-01-13 14:20:16
阅读次数:
147
之前我们在一个用于统计函数调用消耗时间的装饰器中写了一个装饰器,用于统计函数调用时间。代码如下: from time import time
from time import sleep def count_time(): def tmp(func): def wrapped(*args, **ka...
分类:
其他好文 时间:
2015-01-12 22:20:50
阅读次数:
196
一、设计模式的分类总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式...
分类:
其他好文 时间:
2015-01-12 17:09:34
阅读次数:
249
什么是设计模式典型场景的典型解决方案常见设计模式1.工厂模式2.单例模式3.观察者模式4.责任链模式5.策略模式6.装饰模式7.适配器模式8.桥接模式
分类:
其他好文 时间:
2015-01-11 16:01:25
阅读次数:
180
Python之装饰器装饰器先来看一个例子,一个函数f1接收另一个函数f2作为参数,并将该参数f2返回给f2:def deco(func): print("before myfunc() called.") func() print("after myfunc() called.")...
分类:
编程语言 时间:
2015-01-09 19:08:02
阅读次数:
221
装饰模式在中国使用的那实在是多,中国的文化是中庸文化,说话或做事情都不能太直接,需要有技巧的,比如说话吧,你要批评一个人,你不能一上来就说你这个做的不对,那个做的不对,你要先肯定他的成绩,表扬一下优点,然后再指出瑕疵,指出错误的地方,最后再来个激励,你修改了这些缺点后有那些好处,比如你能带更多的.....
分类:
其他好文 时间:
2015-01-08 22:36:55
阅读次数:
268
简介:Decorator装饰器,就是动态地给一个对象添加一些额外的职责,该对象与装饰器对象需要实现同一个接口,装饰器在方法实现里调用目标对象的方法实现并加入额外的操作。使用场景:将复杂的功能细化,分散到不同的装饰器中,然后根据需要动态的组合这些功能。类图:示例代码:装饰器跟被目标对象都需实现的接口:...
分类:
其他好文 时间:
2015-01-08 19:43:37
阅读次数:
184