web-dev-qa-db-fra.com

Programmation orientée aspect en C #

Existe-t-il de bonnes ressources pour comprendre la programmation orientée aspect?

PS: J'ai besoin de comprendre la programmation AO, pas les bibliothèques ou les frameworks disponibles pour .NET ou C # :)

46
TheVillageIdiot

Juste pour comprendre: c'est la possibilité de hook événements tels que: création d'objets, définition de propriétés, etc., et de leur attacher des fonctions générales, qui seront remplies avec le contexte pertinent.

Parce que C # n'a pas de fonction intégrée pour cela, vous avez besoin d'un framework, comme PostSharp, pour faire du `` tissage de bytecode '' (c'est-à-dire simplement écrire du code pour réellement appeler, directement dans vos classes) pour le simuler.

54
Noon Silk

check this out, il décrit comment implémenter AOP (log, timing, traçage, gestion des exceptions ...) en utilisant postsharp

http://www.codeproject.com/Articles/337564/Aspect-Oriented-Programming-Using-Csharp-and-PostS

3
Muhammad Soliman

Un bon lien ci-dessous vous montre comment coder votre propre framework AOP. Malheureusement, toutes vos classes consommatrices doivent hériter de MarshalByRefObject (via ContextBoundObject).

http://www.developerfusion.com/article/5307/aspect-oriented-programming-using-net/3/

3

Quelle question opportune?

Ici est le podcast à écouter.
Cela vous donnera un bon aperçu de ce qu'est l'AOP? où peut-il être utilisé?

J'espère que cela pourra aider.

3
shahkalpesh

La programmation orientée aspect signifie avoir un méta-niveau où vous pouvez définir des fonctionnalités de journalisation ou de sécurité/contrôle d'accès à entrelacer avec votre code au lieu d'implémenter ces fonctionnalités très souvent dans votre code. Ainsi, au lieu d'être unidimensionnel, vous devez programmer en deux dimensions.

Je sais que cela peut sembler très ésotherique mais c'est facile une fois que vous l'avez compris.

AOP fonctionne souvent avec des classes proxy qui interceptent les appels et font des choses en arrière-plan.

3
codymanix