Python的AOP利器:装饰器

AOP(面向切面)算是一个比较热门的话题,以至于有一种论调说“AOP会替代OOP”,然而事实上AOP跟OOP的关注点并不相同。面向对象(OOP)的目的在于抽象 ,而面向切面(AOP)的目的在于解耦。 在Java中面向切面编程需要使用反射(动态代理)实现,操作比较麻烦。而在Python语言中则提供了一个很好用的语法糖--装饰器. 首先,声明一个简单的函数: def foo(): print("function foo") 这个函数很简单,仅仅输出一句话. »