Mes deux cents sur la programmation orientée aspect

AOP (programmation orientée aspect) est un style de programmation qui peut être adopté pour définir certaines politiques qui à leur tour sont utilisées pour définir et gérer les préoccupations transversales dans une application. Il s'agit essentiellement d'un paradigme de programmation qui permet à votre application de s'adapter aux changements.

Ainsi, lorsque vous tirez parti de l'AOP dans vos applications, vous pouvez augmenter la modularité de votre application en séparant les préoccupations. Vous pouvez utiliser AOP pour réduire l'encombrement du code en améliorant la lisibilité et la maintenabilité de votre code.

Il convient de noter que l'AOP n'est qu'un nouveau paradigme de programmation - il ne remplace en aucun cas la POO. Au contraire, il complète la POO en vous offrant un autre moyen d'atteindre la modularité et de réduire l'encombrement du code.

Dans AOP, un aspect peut être défini comme la modularisation d'une préoccupation. Par conséquent, ce style de programmation est appelé programmation orientée aspect. En POO, vous pouvez profiter des classes pour atteindre la modularité. Au contraire, vous pouvez atteindre la modularité dans AOP à travers les aspects.

L'essence d'AOP consiste à encapsuler des fonctionnalités communes tout en permettant à votre application de tirer parti de ces fonctionnalités selon les besoins. Ces fonctionnalités communes ou préoccupations transversales comprennent la gestion de la sécurité, la journalisation, les notifications, la gestion des transactions, la gestion des exceptions, etc. Certains des cadres AOP populaires incluent: PostSharp, Spring Framework, Castle Windsor, Microsoft Unity Framework, Policy Injection Block, etc.

Se familiariser avec les terminologies AOP

Lorsque vous travaillez avec AOP, vous devez être familiarisé avec certains des concepts clés de celui-ci. Ceux-ci comprennent les éléments suivants:

  • Aspect: Une préoccupation transversale ou un module réutilisable. Vous pouvez avoir un ou plusieurs aspects dans une application.
  • Introduction: fonctionnalité utilisée pour déclarer des méthodes et des attributs supplémentaires pour un type particulier.
  • Point de jonction: point où vous pouvez brancher un aspect.
  • Conseil: action exécutée à un point de jointure particulier. Il est également utilisé pour définir l'action qui doit être effectuée avant ou après l'exécution d'une méthode.
  • Tissage: vous fournit une solution à votre code enchevêtré. Il vous permet de lier différents aspects avec d'autres objets de l'application. Notez que selon le moment où le tissage aura lieu, vous pouvez avoir le temps de compilation, le temps de chargement ou le tissage d'exécution.
  • Objet cible: un objet cible peut être défini comme un objet conseillé par un ou plusieurs aspects de votre application.
  • Pointcut: spécifie les règles de tissage, c'est-à-dire qu'il est utilisé pour définir le point de jonction où un conseil particulier peut être appliqué dans votre application.

Pourquoi devrais-je utiliser AOP de toute façon?

La POO favorise déjà la réutilisabilité et la flexibilité du code. Alors, pourquoi avez-vous besoin d'AOP? AOP est un paradigme de programmation qui présente également tous les avantages de la POO. En plus de cela, vous pouvez promouvoir un couplage lâche et permettre à votre application d'utiliser les aspects enfichables au fur et à mesure des besoins sans aucune modification du code de votre application. En utilisant AOP, vous pouvez vous concentrer sur la logique métier de votre application tout en intégrant les aspects à la logique métier. L'un des principaux avantages de l'utilisation d'AOP est qu'il vous suffit d'écrire vos aspects une fois, puis de les réutiliser où vous en avez besoin dans votre application. Ainsi, AOP est un excellent moyen de réduire la complexité du code source de votre application et de rendre votre code propre. Les avantages de l'AOP comprennent:

  • Encombrement de code réduit
  • Redondance de code réduite
  • Maintenance du code simplifiée
  • Développement plus rapide
  • Meilleure lisibilité du code

Comment atteindre l'AOP dans mon application?

Pour implémenter AOP dans vos applications, la première chose à faire est d'isoler les aspects de votre application de la logique métier. La chose la plus importante à garder à l'esprit lors de la conception des aspects est qu'ils doivent être indépendants et ne doivent pas dépendre de l'application. Vous devriez également pouvoir tester les aspects indépendamment les uns des autres. Ensuite, vous devez appliquer ces aspects au code source de l'application en les tissant là où ils sont nécessaires à l'application. L'une des façons dont vous pouvez implémenter AOP dans vos applications consiste à utiliser des attributs.