tags:

views:

892

answers:

4

HI, Any good resources to wrap my head around Aspect Oriented Programming?

PS:- I need to understand AO programming not the libraries or frameworks available for .NET or C# :)

+10  A: 

Just to get your head around it: It is the ability to hook events such as: creation of objects, setting of properties, etc, and attach general functions to them, that will be populated with relevant context.

Because C# doesn't have an inbuilt facility for this, you need a framework, like PostSharp, to do 'bytecode weaving' (i.e. just writing code to actually make the calls, directly to your classes) to simulate it.

Noon Silk
On a side note, http://www.postsharp.org/ has a great explanation of what it is and it's uses.
RCIX
Yes postsharp is good thing (also have good site!)
TheVillageIdiot
+1  A: 

Aspect Oriented Programming means having a meta level where yo can define logging or security/access control features to interweave with your code instead of implementing these feature very time in your code. So instead of beeing one-dimensional, you have to program two-dimensional.

I know this may sound very esotheric but it is easy once you understood it.

AOP often works with proxy classes which intercept calls and do things in the background.

codymanix
A: 

You can perform some AOP with Microsoft's Unity Application block. An example of using Interception can be found here.

Igor Zevaka
A: 

What a timely question?

Here is the podcast worth listening.
This will give you a good overview on what is AOP? where it can be used?

Hope that helps.

shahkalpesh