More on Attribute Oriented Programming
A couple of my posts (here and here) on AOP have sparked a little bit of a discussion that I would like to clarify. I had a minor rant about AOP being more then Attributes + Interception (as have others) and that people in our industry who present on the subject or write about it should do so in the context of the greater body of work presented by Gregor Kiczales and team because I believe that it is causing people to think of Aspects as a superset of Attributes which just isn't the case (i have heard this from a number of people). First of all, whether or not you prefer a static model or a dynamic model. Or if your implementation is Attributes + Interception without a pointcut composition model...i have no issue with that. My point was to help evolve how we think of AOP. Not the implementation model.
Tom Barnaby does some presenting on Attribute Oriented Programming and tries to touch on the AOP subject. He brought up a good point when he said that it's a bit like trying to describe OO with an encapsulation example. Tom. I couldn't agree more ;). It's a tough subject to spend a short amount of time on.
My experience in discussing AOP with people is interesting. Some people find it interesting and useful. Some found it interesting but not too useful and others could care less because it doesn't affect them in their day to day job.
My take is that cross-cutting concerns are already a big issue in the .Net world and it hugely affects production software. We have just become so accustomed to writing special code to handle concerns such as logging, security and transactions (design by contract too) that we get caught up looking at the trees and not the forest. So, to the people out there who don't believe it affects them. It does. It's just that the tools in the .Net world are still in their infancy and with respect to AOP we as a community are 1-2 years behind the java community. However in the next 12-24 months I bet we close the gap....imho.
-Mathew Nolton
Links on AOP
Feel free to send me good AOP links and I will add them to a list for later reference.