The @Input decorator allows you to pass values into your @Directive so that you can change the value of the Directive each time that it is used. Using ...
分类:
其他好文 时间:
2016-12-21 07:46:40
阅读次数:
139
装饰模式适用场景: 装饰者模式(Decorator Pattern),是在不必改变原类文件和使用继承的情况下,动态的扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。使用装饰者模式的时候需要注意一下几点内容:(1)装饰对象和真实对象有相同的接口。这样客户端对象就可以以和真实对 ...
分类:
其他好文 时间:
2016-12-13 18:34:35
阅读次数:
155
一、解决全站字符乱码(post和get中文编码问题) 乱码问题: 获取请求参数中的乱码问题; 响应的乱码问题: 使用Decorator模式包装request对象解决get和post请求方式下的中文乱码问题 编写一个用于处理中文乱码的过滤器CharacterEncodingFilter,代码如下: 在 ...
分类:
编程语言 时间:
2016-12-12 19:40:27
阅读次数:
241
Profiling(性能调试)是我一直很感兴趣的一个话题,之前给大家介绍过Datadog这个工具,今天我们来看看Python语言中有哪些方法来做Profiling。 Poorman's Profiler 最基础的就是使用time.time()来计时,这个方法简单有效,也许所有写过Python代码的人 ...
分类:
编程语言 时间:
2016-12-07 22:41:31
阅读次数:
245
考察上一节的 @log 装饰器: 发现对于被装饰的函数,log打印的语句是不能变的(除了函数名)。 如果有的函数非常重要,希望打印出'[INFO] call xxx()...',有的函数不太重要,希望打印出'[DEBUG] call xxx()...',这时,log函数本身就需要传入'INFO'或' ...
分类:
编程语言 时间:
2016-12-03 18:22:07
阅读次数:
194
@decorator可以动态实现函数功能的增加,但是,经过@decorator“改造”后的函数,和原函数相比,除了功能多一点外,有没有其它不同的地方? 在没有decorator的情况下,打印函数名: 输出: 有decorator的情况下,再打印函数名: 输出: 可见,由于decorator返回的新函 ...
分类:
编程语言 时间:
2016-12-03 18:14:06
阅读次数:
182
装饰者模式可以动态地给一个对象添加一些额外的职责。就增加功能来说,Decorator模式相比生成子类更为灵活。 该模式的适用环境为: (1)在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责。 (2)处理那些可以撤消的职责。 (3)当不能采用生成子类的方法进行扩充时。一种情况是,可能有大 ...
分类:
编程语言 时间:
2016-12-01 02:15:04
阅读次数:
239
一个decorator只是一个带有一个函数作为参数并返回一个替换函数的闭包。 http://www.xxx.com/html/2016/pythonhexinbiancheng_0718/1044.html 一步步教你理解Python装饰器 我作完了全部的测试。 ...
分类:
编程语言 时间:
2016-11-30 14:13:12
阅读次数:
220
python 中一切皆对象,变量是对象,函数也是对象 def funcName(): return 1 f = funcName #funcName 是一个函数名,也是一个对象的名字,所以也可以赋值给一个变量,将对象funcName赋值给变量f f() # 通过变量f来实现函数funcName函数的 ...
分类:
编程语言 时间:
2016-11-21 18:23:58
阅读次数:
267
Java程序员应该了解的10个面向对象设计原则 面向对象设计原则: 是OOPS(Object-Oriented Programming System,面向对象的程序设计系统)编程的核心,但大多数Java程序员追逐像Singleton、Decorator、Observer这样的设计模式,而不重视面向对 ...
分类:
编程语言 时间:
2016-11-17 01:27:14
阅读次数:
142