Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [aspectj-users] Don't pass go --> AspectJ Idioms for Aspect-Oriented Software Construction

> A note to AOP folks, do you also have similar resources Hugh, me, and 
> others should know about too?

If you haven't already, see

  http://www.eclipse.org/aspectj/publications.php
  http://www.eclipse.org/aspectj/index.php (recent books and articles)
  http://aosd.net

> >But I did realise that there is great
> >potential in 
> >the use of aspects.  However am having a hard sell with it as other
> >developers 
> >in the company only see it being used for logging.

The incremental-adoption model of course is laid out in the programming guide.
With binary weaving, you can easily do demo projects with minimal changes
to build/deployment, so the question really is, what are the next applications 
that would be useful for your company.  Canned solutions and patterns might 
work, but you're in the best position to know what applications of AOP are 
needed.  If you have a good understanding of the language, you can probably
figure out how to solve things as easily as you can read an article on point
(most articles are designed as much to teach some aspect of the language as
to provide solutions).

That said, typically the progression is something like

- logging
- error-handling and monitoring, tracing
- testing - mocks, fault injection, pattern, state, or system evaluation
- boilerplate 
  - invoking in secure context, authentication guards
  - handling standard exceptions from library code
- dependency inversion, other forms of decoupling
- integration/assembly

hth - Wes

> ------------Original Message------------
> From: Dmitri Mamrukov <dym@xxxxxxx>
> To: aspectj-users@xxxxxxxxxxx
> Date: Sat, Jul-2-2005 11:44 AM
> Subject: Re: [aspectj-users] Don't pass go --> AspectJ Idioms for Aspect-Oriented Software Construction
>
> Hugh,
> 
> I suspect that many introductory articles on AOP you have found on-line 
> 
> have not been much satisfactory or convincing. The problem that the AOP 
> 
> potential is easily misused and misunderstood (hence, most developers - 
> 
> including me some time ago - hardly see something useful beyond 
> simplistic development aspects such as logging). I believe that the 
> following article reveals some idioms on how to achieve most of the AOP 
> 
> potential.
> 
> AspectJ Idioms for Aspect-Oriented Software Construction
> 
> "The way how aspect-oriented features are applied has a direct impact 
> on 
> how reusable aspects are and how easy they can be applied to other 
> object-oriented programs. Hence, the application of aspect-oriented 
> language features must follow deliberate design decisions and cannot be 
> 
> used ad-hoc."
> 
> http://dawis.informatik.uni-essen.de/site/site/publications/papers/aop/2003_HSU_AspectJIdioms_EuroPLOP_2003.pdf
> 
> Also for real-world samples on how to apply most GoF design patters, 
> explore this wonderful research project.
> 
> Design Pattern Implementation in Java and AspectJ
> 
> http://www.cs.ubc.ca/labs/spl/projects/aodps.html
> http://www.cs.ubc.ca/labs/spl/papers/2002/oopsla02-patterns.pdf
> 
> Indeed, its distribution has 2 implementations: in pure Java and 
> AspectJ. You can then compare them to make solid arguments of adopting 
> AOP. For instance, see the Observer Protocol for a head start! You'll 
> be 
> amazed, trust me!
> 
> Caveat: these implementations are still based on pre-Java 5, so they 
> could be modified to include Java 5 and AspectJ 5 features though.
> 
> A note to AOP folks, do you also have similar resources Hugh, me, and 
> others should know about too?
> 
> Hope this helps,
> Dmitri
> 
> Hugh McBride wrote:
> 
> > 
> >
> > I came accros aspectj and aop when researching an inhouse problem
> >several months
> >ago.  I tried to use aspects for the project but it only solved part 
> of
> >my problem so I had to 
> >abandon it for something else. But I did realise that there is great
> >potential in 
> >the use of aspects.  However am having a hard sell with it as other
> >developers 
> >in the company only see it being used for logging. Are there any
> >articles , examples
> >experts I could refernce to give more weight to my argument of 
> adopting
> >aop going
> >forward 
> >
> >
> >
> >Hugh McBride
> >_______________________________________________
> >aspectj-users mailing list
> >aspectj-users@xxxxxxxxxxx
> >https://dev.eclipse.org/mailman/listinfo/aspectj-users
> >
> >  
> >
> 
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
> 



Back to the top