http://livingcode.org/2009/02/24/aspect-oriented-pythonDetheWordPress2009-02-25T17:25:18Zhttp://livingcode.org/2009/02/24/aspect-oriented-python/comment-page-1#comment-522009-02-25T09:25:18Zhttp://www.hackersinshape.net/archives/67[...] I came across a nice introductory post on AOP in Python by Dethe Elza titled Aspect-oriented Python. [...]
]]>http://livingcode.org/2009/02/24/aspect-oriented-python/comment-page-1#comment-532009-03-04T06:15:04Zhttp://magicsword.wordpress.com/2009/03/04/python-aop-python/[...] Aspect-Oriented Python<http://livingcode.org/2009/aspect-oriented-python> [...]
]]>http://livingcode.org/2009/02/24/aspect-oriented-python/comment-page-1#comment-542009-03-11T10:32:51Zhttp://springpython.webfactional.comI agree that python makes it very easy to plugin things like AOP. In this situation, your AOP advice would be similar to AspectJ, where all instances of a class are wrapped with the advice. I coded an AOP module at http://springpython.webfactional.com/reference/html/aop.html that is based on a) not requiring advice to be applied to all instances and b) being non-intrusive and applicable even if you don’t have access to the original source. I think both of these are valid items any python developer should have.
]]>http://livingcode.org/2009/02/24/aspect-oriented-python/comment-page-1#comment-552009-03-11T11:13:56Zhttp://livingcode.org/Hi Greg, thanks for the pointer. I intended this as a super-quick overview of the AOP-style features built in to recent versions of Python, so I didn’t explore aspects.py (http://www.cs.tut.fi/~ask/aspects/index.shtml), TransWarp (http://www.zope.org/Members/pje/Wikis/TransWarp/AOPTutorial/view) or its successor, PEAK (http://peak.telecommunity.com/Articles/WhatisPEAK.html). In part because these projects never really seemed to take off, and in part because my own preference is for the lighter, more explicit “AOP-lite” of decorators over the full-on code weaving and join points model. But I agree that both have their place in the toolbox.
]]>