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

______egon新书python全套来袭请看:https://egonlin.com/book.html

装饰器模式

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 @ 2019-10-23 18:42  小猿取经-林海峰老师  阅读(295)  评论(0编辑  收藏  举报