欢迎来到簟纹灯影的博客

人生三从境界:昨夜西风凋碧树,独上高楼,望尽天涯路。 衣带渐宽终不悔,为伊消得人憔悴。 众里寻他千百度,蓦然回首,那人却在灯火阑珊处。

05-07 结构类设计模式之装饰器模式

装饰器模式

1对装饰器的理解 ,并写出一个计时器记录方法执行性能的装饰器?

装饰器本质上是一个 Python 函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外

功能,装饰器的返回值也是一个函数对象。

import time

def timeit(func):
    def wrapper():
        start = time.clock()
        func() end =time.clock()
        print 'used:', end - start
    return wrapper

@timeit
def foo():
    print 'in foo()'foo()

2装饰器模式的优点和应用场景

优点:

1、装饰器模式是继承方式的一个替代方案,可以轻量级的扩展被装饰对象的功能;

2、Python的装饰器模式是实现AOP的一种方式,便于相同操作位于不同调用位置的统一管理。

应用场景:

1、需要扩展、增强或者减弱一个类的功能,如本例。

3装饰器模式的缺点

1、多层装饰器的调试和维护有比较大的困难。

posted @ 2020-03-24 20:25  簟纹灯影  阅读(95)  评论(0)    收藏  举报