AOP and merchandising ...

Aspect-oriented programming is more than just a clever means of adding tracing to in-field code. The language has matured to a point where it can support both development-time and production-time code aspects.

I have been developing software systems using object-oriented programming (OOP) techniques for many years. So when I read that aspect-oriented programming (AOP) addresses many problems that traditional OOP doesn't solve completely or directly, I wanted to better understand its benefits in real world application development. I thought comparing both techniques would provide some practical insight. So I decided to design a case study: an OOP application in which I identified aspects where AOP might be a good fit and was amused with what we could achieve with abstraction :).

We can surely abstract out logging, database management and other similar aspects of our code i.e basically services that are essential but are not core to our product. Infact, this is what the AOP evangelists prefer .. but a thought occurred to me which might have some merit .. Why not package and sell our code based on aspects? I thought about an application from our team and it kind of made sense too.. We have an application that authorizes, stores and gets merchant transactions settled. How about considering authorization, storing and retrieval and settlement as 3 aspects and package our offerings accordingly? Can we not do that..I am sure we would be able to...Decoration can also be one more aspect that can be sold as per requirements. We can sell flash heavy, very creative websites to customers who are willing to pay more and sell cheaper versions to customers who want plain vanilla websites by isolating decoration as an aspect....I am sure we would be able to do it and can think about numerous other applications where a similar thought process can be applied..

But well, it is not important to be able to do it in a particular way...It is important to do it the "right" way!! And I really need to think harder to see if this would be the best way to do it..but surely AOP has more merits to it than that are obvious..Only time and our warm open source community will decide how far we go with it!!


Post a Comment

Links to this post:

Create a Link

<< Home