前几天向几位新同事介绍项目,被问起了@login_required的实现,我说这是django框架提供的装饰器方法,验证用户是否登录,只要这样用就行了,因为自己不熟,并没有做过多解释。今天查看django官网,忽然发现,装饰器用法并不是django框架提供的,而是python的一种语法,真心汗一个,...
分类:
编程语言 时间:
2015-04-26 17:58:43
阅读次数:
123
Python有许多出色的语言特性,装饰器(Decorator)便是其中一朵奇葩。先来看看一段代码:def deco1(f): print 'decorate 1' return fdef deco2(f): print 'decorate 2' return f@deco1@...
分类:
编程语言 时间:
2015-04-24 22:23:21
阅读次数:
228
a) 装饰模式定义:动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。
b) 代码:
i. Component类:
Abstract class Component{
public abstract void Operation();
}
ii. Class ConcreteComponent类:
class ConcreteComponent:...
分类:
其他好文 时间:
2015-04-23 19:56:28
阅读次数:
147
职责:
动态的为一个对象增加新的功能。
装饰模式是一种用于代替继承的技术,无须通过继承增加之类就能扩展对象的新功能。
使用对象的关联关系代替继承关系,更加灵活,同时避免类型体系的快速膨胀。
实现细节:
Componment抽象构件角色
真实对象和装饰对象有相同的接口。这样,客户端对象能够以真实对象相同的方式同装饰对象交互。
ConcreteComponment...
分类:
编程语言 时间:
2015-04-23 11:04:14
阅读次数:
145
转:http://www.jellythink.com/archives/171#prettyPhoto什么是装饰模式?在GOF的《设计模式:可复用面向对象软件的基础》一书中对装饰模式是这样说的:动态地给一个对象添加一些额外的职责。就增加功能来说,Decorator模式相比生成子类更为灵活。装饰模式...
分类:
其他好文 时间:
2015-04-22 18:00:31
阅读次数:
98
void m(){ //创建一个 SpannableString对象 SpannableString msp = new SpannableString("字体测试字体大小一半两倍前景色背景色正常粗体斜体粗斜体下划线删除线x1x2电话邮件网站短信彩信地图X轴综...
分类:
其他好文 时间:
2015-04-22 00:13:11
阅读次数:
137
上次简单说了一下什么是装饰者模式以及装饰者模式的一些特点,这次接着说装饰者模式的应用。 一、主要参与的类或者接口 1.component:修饰者和被修饰者共同继承的类,定义了装饰者和被装饰者需要实现的方法,可以单独的使用,也可以被修饰者包裹起来使用。 2.concreteCompon...
分类:
编程语言 时间:
2015-04-21 17:21:56
阅读次数:
163
http://blog.csdn.net/neicole/article/details/7549497/一。前言: 在老师分配任务(“尝试利用IOCP模型写出服务端和客户端的代码”)给我时,脑子一片空白,并不知道什么是IOCP模型,会不会是像软件设计模式里面的工厂模式,装饰模式之类的那些呢?嘿嘿,...
分类:
其他好文 时间:
2015-04-21 16:01:12
阅读次数:
158
以前没有接触过装饰者模式,昨天简单研究了一下,记录一下,为以后进一步学习铺垫一下,刚刚接触,有不对的地方欢迎大家指正。 首先,什么是装饰者模式? 先举个例子来说,就像是一条生产蛋糕的流水线,你不能用这条流水线去生产汽车,更不能去生产坦克吧,当然你也生产不了。你的蛋糕生产出来了,要保存吧,要销...
分类:
编程语言 时间:
2015-04-21 12:47:51
阅读次数:
189
装饰模式的英文原文是:Attach additional responsibilitities to an object dynamically keeping the same interface. Decorators provide a flexible alternative to subclassing for extending functionality. 意思是:动态的给一个对象添...
分类:
其他好文 时间:
2015-04-21 09:49:37
阅读次数:
191