Some time ago AOP was going to be "the next big thing". I wonder if it has gained enough traction in big projects or if it is still in the world of ideas.
What do you think?
Some time ago AOP was going to be "the next big thing". I wonder if it has gained enough traction in big projects or if it is still in the world of ideas.
What do you think?
I think AOP has its appliances, but I think it is a bit far-fetched to consider it as 'the next big thing'.
It's not like AOP replaces OOP for instance; IMHO, AOP is complementary to OOP.
For me, I see usages for AOP in cross-cutting concerns like logging, security, etc... In some cases AOP helps you building/developing your infrastructure.
A while ago, I've been playing around with AOP a little bit (using PostSharp) (see: http://fgheysels.blogspot.com/2008/08/locking-system-with-aspect-oriented.html). It really helps you seperating some 'infrastructure concerns' from your main business-logic, which keeps you focussed on your businesslogic, without having to think on your infrastructure.
i think it's used in a lot of projects already, but probably without the developers knowing it. for example, if you are using Spring's declarative transaction management (@Transactional annotation). spring uses aspects behind the scenes. i think this kind of stuff will never be the next big thing, but it can definitely enhance the maintainability of a project.