HTML5 Canvas
Written by: Simon Sarris
Featured Refcardz: Top Refcardz:
  1. Apache Hadoop
  2. Web Driver
  3. MVVM
  4. REST
  5. ADO.NET
  1. HTML5
  2. Ajax
  3. jQuery Selectors
  4. CSS Part 1
  5. Git

Link Details

In the time it takes to read this message you could have voted twice. Login and vote now.
Link 341097 thumbnail
User 226097 avatar

By veerasundark
via veerasundar.com
Published: Jan 13 2010 / 16:21

Article explains about the Spring Aspect Oriented Programming (AOP) with the use of a simple example of profiling method execution time.
  • 10
  • 2
  • 5168
  • 19

Comments

Add your comment
User 388907 avatar

MCII replied ago:

-4 votes [show comment] Vote down Vote up Reply
User 226097 avatar

Vraa replied ago:

0 votes Vote down Vote up Reply

it doesn't have to be - security and transaction management are some other AOP use cases that I can think of.

User 61474 avatar

William Louth replied ago:

0 votes Vote down Vote up Reply

And everyone of them implemented extremely poorly by developers who clearly do not understand either domain.

User 494691 avatar

Vasil Remeniuk replied ago:

0 votes Vote down Vote up Reply

If profiling and logging are the only [horizontal] aspects of your applications - true... But did you consider caching, validation, transaction management? You can find more info here: http://vasilrem.com/blog/software-development/the-second-life-of-aop/

User 61474 avatar

William Louth replied ago:

0 votes Vote down Vote up Reply

AOP is just glue - a thin one at that if you know what you are doing. You still need to know what you are doing in terms of designing the underlying caching, monitoring, tx mgmt framework which should be completely divorced from AOP itself.

User 494691 avatar

Vasil Remeniuk replied ago:

1 votes Vote down Vote up Reply

Well, I'm not saying you don't need to design cache or monitoring :)
AOP helps keeping your business logic decoupled from purely technical aspects (components). With AOP you can design your caching, etc. in a reusable way. Say, if one day you decide, you don't need monitoring, the aspect can simply be turned off without any damage to your code. Secondly, AOP makes your code more maintainable, and decreases quantity or repeated code.

User 61474 avatar

William Louth replied ago:

0 votes Vote down Vote up Reply

I don't think you need to tell me that but if you look at all the examples (even though in production) you see the AOP itself bloated with such concern that you cannot separate the concern itself from the AOP technology which should always be possible. We first design an Open API then we build various AOP SDK extensions on top of it using AspectJ, JBoss AOP, Spring AOP, Custom BCI,..... How many can truly say that this is the case within their aspect/advices? I see AOP as glue and nothing else.

User 61474 avatar

William Louth replied ago:

0 votes Vote down Vote up Reply

No one is knocking AOP but for the most part it is just another excuse for a developer create yet another logging framework or stopwatch class.

User 494691 avatar

Vasil Remeniuk replied ago:

0 votes Vote down Vote up Reply

A agree that the most developers use AOP in a very straightforward manner.

>> How many can truly say that this is the case within their aspect/advices?

Only those can do who tend to make their assets reusable, and care about good design :)

Add your comment


Html tags not supported. Reply is editable for 5 minutes. Use [code lang="java|ruby|sql|css|xml"][/code] to post code snippets.

Voters For This Link (10)



Voters Against This Link (2)