views:

200

answers:

2

So having read some of the PostSharp documentation presented as an answer to my previous question regarding passive logging (http://stackoverflow.com/questions/687867/is-passive-logging-possible-in-net), I am led to my next question:

Where is a good place to start learning about Aspect Oriented Programming - I've done some searches on Google and I've read some articles - including the article regarding the topic on Wikipedia, but a lot of the material seems to assume you have a basic understanding of some of the terms which I seem to be missing, and that which doesn't just dives straight into integration leaving me not understanding what exactly it is I'm integrating.

Does anyone have any decent material targeted at helping someone who's never heard of Aspect Oriented Programming before today learn about the core concepts, terms/keywords etc? Even a birds-eye view would be helpful - i.e. These are the core concepts, keywords to look out for, what they stand for and how they fit together. After that, I can probably make some decent headway on my own. I'm most interested in AOP in relation to .NET development, so any material that specifically targets this would be helpful.

TIA

+1  A: 

What's your goal? AOP has a lot's of manifestation:

  • Attribute oriented programing
  • Proxy objects
  • Context boundary objects
  • HTTP handlers/chaining in ASP.NET
  • PIB in Enterprise Library
  • Post-compilers like EOS (I used EOS (http://www.cs.iastate.edu/~eos/) in my thesis.)

AOP has a great impact on framework todays, but it's only impact and not a breaking change. And yes, there is no common language, no common definitions. I think you should try attributes/PIB/EOS etc., and after that you can define and explore AOP yourself.

Resources

http://www.codeproject.com/KB/architecture/aop2.aspx

http://blogs.msdn.com/tomholl/archive/2007/02/23/announcing-the-policy-injection-application-block.aspx

boj
+1  A: 

Here's an article that gives a conceptual overview and then builds up to C# examples. Hope it helps.

Charlie Flowers