I am pretty sure you have heard the buzz word about Aspect Oriented Programming...So what is AOP?Is it the next big thing in IT after OOP?So does that mean OOP is dead?
Actually AOP is in no means a competition to OOP.In fact it's a complement to OOP that adds value to your objects.Generally in OOP when we define classes, a principle we follow is that an object should have a clearly definable responsibility.For example if we take a Customer class it should contain functionalities of a Customer.But when we implement this in our program our domain classes (For example Customer) is cluttered with logging, security implementations etc...These are cross cutting concerns that shouldn't be part of our domain classes.So AOP provides you a way to extract these cross cutting concerns into Aspects and have them adorn our objects to get the required functionality.
So How do you do AOP?Well either you can implement your own AOP frameworks or try out the following:
http://www.rapier-loom.net for a .NET AOP implementation
http://eclipse.org/aspectj for a Java AOP implementation