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