枚举例题:package cn.itcast_02;/* * 通过JDK5提供的枚举来做枚举类 */public enum Direction { FRONT, BEHIND, LEFT, RIGHT;}---------------------------------------package c...
分类:
其他好文 时间:
2015-07-16 02:06:38
阅读次数:
192
1、问题:想要添加日志记录、性能监控、安全监测 2、最初解决方案 2.1、最初解决方案:在每个需要的类函数中重复写上面处理代。 缺点:太多重复代码,且紧耦合 2.2、抽象类进行共性设计,子类进行个性设计,此处不讲解,缺点一荣俱荣,一损俱损 2.3、使用装饰器模式/代理模式改进的解决方案 装饰器模式:...
分类:
其他好文 时间:
2015-07-14 22:25:17
阅读次数:
215
1.介绍
1.装饰器模式(Decorator),可以动态地添加修改类的功能
2.一个类提供了一项功能,如果要在修改并添加额外的功能,传统的编程模式,需要写一个子类继承它,并重新实现类的方法
3.使用装饰器模式,仅需在运行时添加一个装饰器对象即可实现,可以实现最大的灵活性。
2.实例
接下来我们举一个例子,使用php实现一个小画板的功能(画指定颜色图形)
1.没使用装饰器之前的传统...
分类:
Web程序 时间:
2015-07-13 20:47:05
阅读次数:
193
Python的装饰器的英文名叫Decorator,当你看到这个英文名的时候,你可能会把其跟Design Pattern里的Decorator搞混了,其实这是完全不同的两个东西。虽然好像,他们要干的事都很相似——都是想要对一个已有的模块做...
分类:
编程语言 时间:
2015-07-13 06:44:58
阅读次数:
205
import httplib2,time#装饰器方法,用于记录方法消耗时间#推荐将print 改成logdef timer(func): def _warpper(self,*argv): start = time.time() result = func(self,*argv) cost = ti...
分类:
编程语言 时间:
2015-07-05 19:45:35
阅读次数:
172
javaweb学习总结(四十三)——Filter高级开发在filter中可以得到代表用户请求和响应的request、response对象,因此在编程中可以使用Decorator(装饰器)模式对request、response对象进行包装,再把包装对象传给目标资源,从而实现一些特殊需求。一、Decor...
分类:
编程语言 时间:
2015-07-05 18:24:47
阅读次数:
193
第一步 简单函数1 ''' 简单的函数:调用两次'''2 def myfunc():3 print ('myfunc() called.')4 5 myfunc()6 myfunc()第二步 装饰器为调用函数提供附加功能 1 '''替换函数(装饰) 2 装饰函数的参数是被装饰的函数对象,返回...
分类:
编程语言 时间:
2015-07-01 22:08:33
阅读次数:
228
#接受装饰器的参数def deco_arg(deco_arg): #接受函数 此列为func1 def deco_func(*argv,**kwag): #接受函数的方法 此列为 a b def _deco_func(*argv,**kwarg): print "befor...
分类:
编程语言 时间:
2015-07-01 08:36:28
阅读次数:
184
#!/usr/bin/env python#_*_coding=utf-8_*_#Author: xieyixue#mail: xyx_0410@163.com#Created Time: 2015年07月01日 星期三 01时30分36秒class staticClass: def __in...
分类:
编程语言 时间:
2015-07-01 08:32:56
阅读次数:
189
#!/usr/bin/env python#_*_coding=utf-8_*_#Author: xieyixue#mail: xyx_0410@163.com#Created Time: 2015年07月01日 星期三 00时28分03秒def deco(func): '''定义装饰器接受参数,....
分类:
编程语言 时间:
2015-07-01 06:11:10
阅读次数:
146