Hooks, aspect-oriented programming, and design by contract

Pedro Rodriguez pedro_rodriguez at club-internet.fr
Wed Jan 23 12:07:47 CET 2002


"Michael Chermside" <mcherm at destiny.com> wrote:

> Several people pointed out small ways to start fitting aspect oriented
> programming into Python. Someone also asked what AOP is. Anyone
> interested in such things should check out
> http://www.zope.org/Members/pje/Wikis/TransWarp/HomePage which is a
> reasonable start toward providing Aspect Oriented Programming in Python.
> They also have pointers to good references on the subject.
> 
> -- Michael Chermside
> 
> 

I checked those docs and I have got some remarks/questions about it :
- What is the current status of TransWarp ? Will this part of Zope 3 ?

- I get the impression that it got it the wrong way with Aspects :
  + an Aspect (Template) -> creates -> a Component (Class)
  + a Component (Class) -> creates -> a ComponentInstance (object)

  Maybe this comes from the influence of AspectJ doc readings but
  aspect concept should be orthogonal to class hierarchy and not mixed 
  in this way. 

- In fact there is no more class hierarchy as we know it currently.
  It defines its own hierarchy with aspects. Must be missing something
  there, like : why is Aspect3 = (Aspect1+Aspect2)(...) better than
  class Aspect3(Aspect1, Aspect2): ...

- TransWarp looks to be defining metaclasses and I got the feeling that
  metaclasses can provide some helper methods to aspects, but are not
  required.

Regards,
-- 

Pedro









More information about the Python-list mailing list