def log(func): def wrapper(*args,**kw): return func(*args,**kw) return wrapper@logdef run(*args,**kw): print args,kw print 'now 201...
分类:
其他好文 时间:
2015-02-04 07:05:46
阅读次数:
136
java设计模式-------装饰者模式
装饰者模式
Decorator模式(别名Wrapper):动态将职责附加到对象上,若要扩展功能,装饰者提供了比继承更具弹性的代替方案。主要有组件(components)和装饰器(Decorator)组成。要求components和Decorator实现相同的接口或者抽象类(具体类的局限性太大)。...
分类:
编程语言 时间:
2015-02-03 21:25:47
阅读次数:
241
LZ到目前已经写了九个设计模式,回过去看看,貌似写的有点凌乱,LZ后面会尽量改进。 ???????????????? 那么本章LZ和各位读友讨论一个与JAVA中IO有着不解情缘的设计模式,装饰器模式。 ?????...
分类:
其他好文 时间:
2015-02-02 18:20:26
阅读次数:
332
转自:http://www.cnblogs.com/jaredlam/archive/2011/11/08/2241089.html学习AOP时,教材上面都说使用的是动态代理,可是在印象中代理模式一直都是控制访问什么的,怎么又动态增加行为了,动态增加行为不是装饰器模式吗?于是 找了很多资料,想弄清楚...
分类:
其他好文 时间:
2015-02-02 15:39:23
阅读次数:
235
装饰模式就是给一个对象增加一些新的功能,而且是动态的,要求装饰对象和被装饰对象实现同一个接口,装饰对象持有被装饰对象的实例,关系图如下:Source类是被装饰类,Decorator类是一个装饰类,可以为Source类动态的添加一些功能,代码如下:[java]view plaincopypublici...
分类:
其他好文 时间:
2015-02-02 12:03:58
阅读次数:
116
所有的说明和解释都在代码中有注释来标明
package mode.decorator;
/**
*
* 这里定义一个接口,在接口中定义我们要执行的操作。
*
* 以后所有的装饰器以及我们要装饰的对象都要实现这个接口。有了这样的大前提,我们就可以其用 Sourcable来定义我们的装饰器和要装饰的对象了
*
* */
public interface Sourcable...
分类:
其他好文 时间:
2015-01-30 23:00:26
阅读次数:
345
django程序,需要写很多api,每个函数都需要几个装饰器,例如
@csrf_exempt
@require_POST
def foo(request):
pass
既然那么多个方法都需要写2个装饰器,或者多个,有啥办法把多个合并成一行呢?
上面的函数执行过程应该是
csrf_exempt(require_POST(foo))
修改成
def compose(*...
分类:
编程语言 时间:
2015-01-30 17:46:10
阅读次数:
156
一. 高阶函数
aaa
二.返回函数
aaa
三.匿名函数
aaa
四.装饰器
aaa
五.偏函数
aaa...
分类:
编程语言 时间:
2015-01-30 00:10:38
阅读次数:
259
通过ServiceTracker能够对查找的Service进行扩展以下的demo引入装饰器模式对Service进行日志的扩展demo:Providerstudent-manage/Activator.javapackage com.demo.service;import java.util.Dict...
分类:
其他好文 时间:
2015-01-28 12:32:36
阅读次数:
165
一、设计模式的分类总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式...
分类:
其他好文 时间:
2015-01-24 00:21:51
阅读次数:
313