修饰器模式,用来做什么,粗看了几个例子只记得是可以在函数前后自动调用。但确实就像java注解一般,它用注入的方式实现了函数功能的添加,在日志,缓存等场景把功能性,通用性能力抽象出来。而抽象,也就是范型的意义之一。
附作者的说明:
但是深入看一下,我们不难发现,Decorator 这个函数其实是可以修饰几乎所有的函数的。于是,这种可以通用于其它函数的编程方式,可以很容易地将一些非业务功能的、属于控制类型的代码给抽象出来(所谓的控制类型的代码就是像 for-loop,或是打日志,或是函数路由,或是求函数运行时间之类的非业务功能性的代码)。
展开