Expliquez-moi... La programmation orientée aspect
Par Blog marocain, vendredi 5 mai 2006 à 09:40 :: Développement :: #456 :: rss
Elaboré en 1997 par Xerox, ce paradigme de programmation commence à faire parler de lui en dehors des études académiques, et les outils utilisables par les développeurs deviennent fiables.
Parmi les paradigmes de programmation proposés aux développeurs, la programmation orientée aspect (POA) semble être l'un des plus prometteurs. Ses principes ont été adoptés sur des projets d'envergure (comme Drupal), et améliore la programmation Objet sur certains points clefs - même s'il peut également être appliqué avec un langage procédural, pour peu qu'une implémentation existe.
L'idée première de ce paradigme est d'améliorer la séparation des "préoccupations" (Separation of Concerns) lors du développement. Ces préoccupations forment les différents aspects techniques du logiciel, habituellement fortement dépendants entre eux. La POA propose des mécanismes de séparation de ces aspects, afin de modulariser le code, le décomplexifier, et le rendre plus simple à modifier.
Ces mécanismes sont regroupés sous l'appellation d'inversion de contrôle, et consistent à extraire les dépendances et à les gérer depuis des modules externes : les aspects. Ceux-ci sont autonomes, et travaillent avec le cœur du logiciel par le biais d'un modèle de points d'exécution (join point model).
Ce dernier précise à quel point d'exécution (join point) tel aspect devra être activé. Le modèle défini par ailleurs un moyen de spécifier ou quantifier l'activation de plusieurs points d'exécution via des points d'action (pointcut), et une méthode pour affecter l'activation des points d'action, par le biais de "greffons".
Le développement Aspect comprend trois étapes :
1) Décomposition par aspects : le développeur décomposer les besoins de son logiciel pour y isoler les préoccupations susceptibles de servir à plusieurs étapes de celui-ci. On identifie ainsi les différents traitements du logiciel
2) Implémentation des préoccupations : chaque préoccupation est implémentée séparément.
3) Recomposition par aspects : un outil appelle Tisseur (weaver) intègre les différentes préoccupations en créant des modules, c'est à dire les fameux aspects. L'aspect est ainsi tissé pour produire du code traditionnel, qui perd du coup ses notions d'aspect et produit du code Java (ou autre) classique. L'intérêt de la PAO réside dans la maintenabilité, pas le code final.
La POA est dépendante de l'implémentation de ses concepts au sein d'un langage. AspectJ reste l'implémentation la plus populaire, dédiée à Java et gérée par le projet Eclipse. D'autres frameworks Java ont depuis vu le jour, à commencer par JBoss AOP et Nanning, et les frameworks pour les autres langages ont suivi le pas : C, C#, PHP, Python, Cobol et d'autres peuvent aujourd'hui profiter des apports de la POA à l'aide d'extensions dédiées.
Source : developpeur.journaldunet.com
Un film américain de Tim Burton avec Johnny Depp, Eva Green, et Michelle Pfeiffer... - Genre : Fantastique - Durée : 1H35mn
Un film américain de Joss Whedon avec Robert Downey Jr, Chris Evans, et Mark Ruffalo... - Genre : Action - Durée : 2H20mn
Un film français de Alexandre de La Patellière et Matthieu Delaporte avec Patrick Bruel, Valérie... - Genre : Comédie - Durée : 1H49mn
Un film américain de Jon Hurwitz et Hayden Schlossberg avec Jason Biggs, Alyson Hannigan, Shannon... - Genre : Comédie - Durée : 1H54mn
Un film britannique de Max Giwa avec Falk Hentschel, Sofia Boutella, et George Sampson... - Genre : Comédie musicale - Durée : 1H25mn
Commentaires
1. Le vendredi 5 mai 2006 à 11:28, par mehdi
Ajouter un commentaire