5

I'm curious to here the opinions of people working in large enterprise organisation whether AOP is widely (or even modestly) used when they are developing? Is AOP something which is inherent in the design. Because from everything I managed to find on the Internet (including by reading the AspectJ in Action, 2nd ed. book) I was left with the impression that AOP is something which is more of a "niche" type of technology. My main point is whether there is a point in investing effort and time in learning to an acceptable level - e.g. the join-point mechanism, advices etc.

Furthermore, do you design with AOP in mind or you use it to amend shortcomings in an existing design?

1
  • 2
    One problem with AOP is that you risk that the program gets fragmented across source files and hard to understand. For inexperienced programmers this may outweigh the advantages.
    – user1249
    Oct 20, 2011 at 20:49

3 Answers 3

3

In my experience, it's not very widely used. The most I've ever seen is using Spring to handle some dependency injection, and even that was not very heavily used.

I imagine I'd see more of it if it were available as a core feature of whatever language was being used (we don't just use Java), rather than 3rd party tools and libraries (if there are languages that have AOP as core features, I'm not aware of them, but I'm interested to hear about them!).

3

I'm going to go the opposite and say that I've seen heavy usage in the Investment Banking and finance space. The cross-cutting concerns of Security and Transactions suit AOP and are widely used by the clients I work with.

2
  • +1 because I use it all the time. Security, transactions, almost anything with annotations gets the AOP treatment.
    – Gary
    Oct 21, 2011 at 10:04
  • You forgot to mention the particular technology ecosystem that you're talking about, that is: Java Enterprise Edition
    – user6787
    May 27, 2014 at 6:39
2

In my experience, it's widely touted and talked about - either to show technical supremacy or value of trainings given. But when it comes to code on ground zero almost no one uses it! It's kinda hard and the nomenclature is quite unintuitive - advice, join-points, point-cuts etc.,

I've known more than a handful of seasoned people who still get confused with the terminologies!

The question is more of is AOP 'worth it'? It well may be if a lot of things in your application can be put into 'aspects' so to speak. So the return on investment of AOP could be justifiable.

For your project you should (strongly suggested) question its worth. Would a simpler technique be beneficial or is AOP simply being used to jump onto the buzzword bandwagon? That'll help you decide for yourself, irrespective of whether other companies are using it!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.