Updates

Latest Tweet



What's New?

Check out for latest innovation, a computer based training video collection


Like this Page

Aspect-Oriented Software Development with Use Cases Review by W Boudville

how use cases can lead to aspect oriented coding

Jacobson and Ng present a detailed exposition of what aspect oriented programming means. As implemented in the AspectJ language, an extension to Java for expressly this purpose. They explain that object oriented programming has a conceptual limitation. Indeed, it is good to separate code into components using OO. But in general you have M concerns and N components, where M>N. Sometimes, M>>N. So if you imagine an M x N matrix, then you can easily see how entanglement arises. A given component may have code from multiple concerns. Which makes it harder to implement and maintain.

The authors describe how if you start at the design level, with use cases, that these can effectively be considered concerns. Then, taking these use cases and using AspectJ, you can design and write code that keeps the use cases/concerns separate as much as possible. While being able to compose code for several concerns when necessary. Use cases are of course widely used in many design processes. An attraction of this book is in showing how starting with the familiarity of use cases, you can logically understand and implement an aspect oriented coding.

The book is primarily written at the design level. While some small code fragments are offered as examples, you should have some earlier knowledge of AspectJ. The book is not, per se, a syntax manual on the latter.