Python之Decorator
Python的Decorator在使用上和Java的Annotation很相似,就是在方法名前面加一个@XXX注解来为这个方法装饰一些东西。但是Java的Annotation也很让人望而却步,太过于复杂了,需要了解一堆Annotation的类库文档。
Python使用了一种相对于Decorator Pattern和Annotation来说非常优雅的方法,完全就是语言层面的玩法,一种函数式编程的技巧。
装饰器模式总结:
表面上看,修饰器模式就是扩展现有的一个函数的功能,让它可以干一些其他的事,或是在现有的函数功能上再附加上一些别的功能。
除了可以感受到函数式编程下的代码扩展能力,我们还能感受到函数的互相和随意拼装带来的好处。
深入看一下,Decorator这个函数其实是可以修饰几乎所有的函数的。于是,这种可以通用于其它函数的编程方式,可以很容易将一些非业务功能的,属于控制类型的代码给抽象出来。