archives

A fresh look at AOP - Use classes to define behavior, use aspects to compose behavior

A fresh look at AOP, by Carlo Pescio (http://www.aspectroid.com)

"Aspectroid is an exploration of the design space, moving beyond conventional object oriented design and further into the aspect-oriented expanse. [...] to best combine OOP and AOP, [...] AOP is a powerful, yet largely misunderstood and misrepresented paradigm."

"I started this project with a design vision in my mind, and a set of hypothesis that I wanted to test. My vision was to use aspects to improve object-oriented design, or more exactly statically-typed object-oriented design, so that I could have the benefits of static typing, but also enjoy the flexibility usually associated with dynamic languages like Smalltalk. Actually, I wanted to move one step forward, and aim for a degree of compositionality beyond what is normally possible with OOP alone. Behind that vision, I had a few, relatively straightforward goals:

- Align the architecture with the nature of the problem
- Allow for extension and contraction of application-level concerns

[...]

"AOP goals: Use aspects to separate application concerns, as opposed to what we commonly see in literature, where technological concerns like logging, exception handling, etc. are usually addressed."