Aspect oriented Everything?

Chris Reedy creedy at mitretek.org
Wed Aug 27 10:52:11 EDT 2003


If you're interested in this topic, you might check out the work of 
Harold Ossher at IBM on "Multi-Dimensional Separation of Concerns". (I 
can provide a detailed reference if you email me.) Even though he's 
become part of the AOP community, I always found the arguments in his 
original papers more compelling than more current AOP work.

   Chris

Hung Jung Lu wrote:
> Steven Ketcham <stedak at charter.net> wrote in message 
> 
>>AOP was very difficult to explain, debug and implement. It did not 
>>obviously replace any of our current procedures and at best it was 
>>perceived as very heavy-weight. The conclusion on AOP was that it was a 
>>neat concept but there was no immediate benefit for using it.
>>
>>On Sat, 23 Aug 2003 22:00:22 +0900, Lothar Scholz <llothar at web.de> wrote:
>>
>>>I don't like it because it breaks encapsulation and splitters the code
>>>over a few files. Maybe that can be solved with new kind of editors
>>>but it is much more easy to result in a big confusion.
> 
> 
> AOP is the latest effort in code factorization. Code factorization
> started with the goto statement, then loops, then functions, then
> classes and methods. And now, AOP.
> 
[snip]
> If we view OOP and inheritance as a vertical dimension in code
> factorization, AOP would be a new horizontal dimension in code
> factorization. Hence, people use terms like "aspect weaving".
> 
> Some people don't like AOP because it violates encapsulation in the
> vertical dimension. But this way of thinking is kind of, erh,
> unidimensional. Because conversely, a program that is built from
> purely AOP is encapsulated in its own aspect dimension, and the usage
> of OOP in that case would violate the encapsulation in the horizontal
> dimension. The fact is, both factorizations are needed in the real
> world. Aspect-oriented coding and object-oriented coding are like the
> conjugate variables in quantum mechanics, whether you use one picture
> or the other, at the end of the day they are equivalent, but in some
> circumstances it's better to use one than the other. (If you know
> Fourier transform, you know what I mean. A localized wave packet in
> time necessarily means a spread-out packet in frequency, and
> vice-versa. You can't have encapsulation both ways.)
> 
> regards,
> 
> Hung Jung





More information about the Python-list mailing list