2009-09-13 5 views
43

Ci sono delle buone risorse per comprendere la programmazione orientata agli aspetti?Programmazione orientata agli aspetti in C#

PS: ho bisogno di capire di programmazione AO, non le librerie o framework disponibili per .NET o C# :)

+0

mi sembra come una vittima per http://stackoverflow.com/questions/325558/aspect-orientated-programming-examples – Graviton

+0

[Aspect Oriented Programming] (http://izlooite.blogspot.com/2010/06/aspect-orientated-programming.html#comment- modulo) –

+0

Controlla AOP in .NET - http://manning.com/groves (sì, è un'auto-promozione spudorata, ma è levant!) –

risposta

51

Solo per ottenere la testa intorno ad esso: è la capacità di gancio eventi quali: creazione di oggetti, impostazione di proprietà, ecc. e allegare loro funzioni generali, che verranno popolate con contesto pertinente.

Poiché C# non dispone di una funzione incorporata per questo, è necessario un framework, come PostSharp, per eseguire "bytecode weaving" (ovvero scrivere semplicemente il codice per effettuare effettivamente le chiamate, direttamente nelle classi) per simularlo.

+4

In una nota a margine, http://www.postsharp.org/ ha una grande spiegazione di ciò che è ed è usi. – RCIX

+0

Sì, postsharp è una buona cosa (ha anche un buon sito!) – TheVillageIdiot

+1

l'emulazione di runtime è anche buona. L'unità e altri usano la riflessione emettono per fare l'intercettazione del metodo. Inoltre .net ha un hook ContextBoundObjects come Jean ha menzionato. Sfortunatamente c'è un enorme successo con oggetti legati al contesto. – AbdElRaheim

2

Programmazione orientata agli aspetti significa avere un meta livello in cui è possibile definire funzionalità di registrazione o sicurezza/controllo degli accessi da intrecciare con il codice anziché implementare queste funzionalità molto tempo nel codice. Quindi, invece di essere unidimensionale, devi programmare bidimensionale.

So che questo può sembrare molto esoterica ma è facile una volta capito.

AOP spesso funziona con classi proxy che intercettano chiamate e fanno cose in background.

3

Quale domanda tempestiva?

Here è il podcast che vale la pena ascoltare.
Questo vi darà una buona panoramica su ciò che è AOP? dove può essere usato?

Spero che questo aiuti.