2010-11-16 7 views
0

Je suis nouveau à l'AOP et je me demandais s'il y avait une bonne reasorce là-bas qui m'aiderait à comprendre où je peux utiliser AOP dans mes projets. Je travaille principalement en C# mais je cherche des tutoriels sur l'AOP pratique et pas un outil spécifique (ie PostSharp ou autre) - Je cherche des pratiques/modèles communs (pas d'outils) et des exemples d'utilisation dans n'importe quelle langue - pas seulement C# /. NETAOP ressources d'apprentissage

Répondre

1

Jusqu'à présent AOP est lié aux frameworks, donc vous devriez lire la documentation du framework AOP plutôt que l'approche générale.

Mais nous pouvons spécifier trois types communs de l'AOP:

  1. injection pré code (dans le fichier de code) [générateurs de code qui fonctionnent pior la compilation pré]
  2. d'injection de code d'exécution (injection, pointeurs de marais , en mémoire) [printemps ?, mon propre cadre]
  3. injection de code postal [PostSharp]

la plupart des ressources peuvent être trouvés ici: "http://csharp-source.net/open-source/aspect-oriented-frameworks"

L'utilisation la plus courante est une architecture de plugin, la journalisation, la mise en cache ainsi que certains AOP spécifiques au domaine, comme la définition de propriétés spécifiques sur un objet appartenant à un domaine et à un état donné. En dehors de cela, les couches de présistance peuvent utiliser AOP pour générer des objets de commande SQL, etc.

La chose dans AOP est que vous devez avoir une bonne compréhension du fonctionnement du système si vous voulez aller au-delà des choses courantes comme la journalisation, de nombreux devs juniors ne reçoivent pas d'AOP, donc je ferais attention à l'utiliser d'une manière spécifique au domaine, cela fonctionnera bien si vous êtes dans une équipe de développement forte qui a beaucoup d'expérience avec AOP.

EDIT: Voici un bon tutorial au printemps AOP, le printemps est une énorme bête, mais une fois que vous l'apprendre, il fonctionne très bien, le seul inconvénient est la configuration de xml plutôt que la fluidité.