Sponsored Link •
|
Summary
More precisely, "Does Aspect Oriented Programming (i.e. AOP) supercede Component Models?". It's an interesting question, something we all would like to know before the AOP hype machine gets to full gear. To answer it, let's get our definitions straight first.
Advertisement
|
More precisely, "Does Aspect Oriented Programming (i.e. AOP) supercede Component Models?". It's an interesting question, something we all would like to know before the AOP hype machine gets to full gear. To answer it, let's get our definitions straight first.
AOP can be simply defined as the ablility to assert quantified statements over programs written by oblivious programmers. Special emphasis on the word oblivious.
A Component Model may have the following characteristics:
1. A mechanism for dynamic extensions.
2. A mechanism of encapsulation that can be dynamically introspected.
3 . [omitted for brevity]
4. A defined lifecycle that conforms to the requirements of a Container.
5. A protocol for interacting with the container. This covers, how to find other components and their factories, how to reference and invoke other components, etc. In otherwords, the functionality you have for POJOs used in the context of the container.
Clearly characteristics 1 and 2 are covered by the AOP definition. However characteristic 4 and 5 of component models are direct opposites of the "oblivious" requirements of AOP. Lifecycle can of course be introduced by using AOP "introductions". However, the notion of a context is conspicously absent in our present notion of AOP.
Have an opinion? Be the first to post a comment about this weblog entry.
If you'd like to be notified whenever Carlos Perez adds a new entry to his weblog, subscribe to his RSS feed.
Carlos E. Perez has been an object-oriented practitioner for over a decade. He holds a Bachelor's Degree in Physics and a Master's Degree in Computer Science from the University of Massachusetts. He has polished his craft while working in IBM's Internet Division and IBM's TJ Watson Research Center in Hawthorne, New York. He now works for a startup 1/100,000th the size of his former employer. He writes about topics covering emerging aspect and object oriented paradigms, loosely coupled architecture, open source projects and Java evangelism. |
Sponsored Links
|