PYTHON 动态语言特性 简单实现AOP思想

ddatsh 发布于 2011/07/18 17:38
阅读 791
收藏 0

动态语言提供了在运行时改变程序结构的能力。有些人认为这会造成混乱,不过我觉得,这些功能有时候会提供巨大的方便。

这里举个例子。函数调用拦截是aop的基础,用python实现这个功能非常简单

#Target
class Target:
    def targetFunc(self):
        print "targetFunction"
#aop
temp=Target.targetFunc
def foo(self):
    print "before call"
    temp(self)
    print "after call"
Target.targetFunc=foo
#see result
t=Target()
t.targetFunc() 
加载中
返回顶部
顶部