Discussion:Programmation orientée aspect

message: Utiliser l'acronyme POA, ie. la françisation d'AOP, créé une confusion avec le POA de CORBA (portable object adapter). NonNobis 25 mai 2005 à 11:25 (CEST)
replies: text: Ca crée peut être une confusion pour le spécialiste, mais il peut corriger de lui même, pour les autres je pense que ca pause moins de problème (une seul occurence de AOP/PAO en intro ca reste dans le contexte). Sinon autant écrite entrièrement programmation orientée aspect qui règle tout. →þaצo ♫ 25 mai 2005 à 14:52 (CEST)
replies: text: adopté. Faut encore étoffer et revoir mais maintenant il manque surtout qq ex. de code, et 1 ou 2 schémas. NonNobis 25 mai 2005 à 15:20 (CEST)
replies: text: pour les shéma, je peut en faire. J'en et vue quelque un, et c'est vrai qu'ils présente facilement le consepte. →þaצo ♫ 25 mai 2005 à 17:43 (CEST)
replies: text:  cool. oui, surtout avec ce jargon. Je peux m'occuper des exemple de code dans ce cas. NonNobis 25 mai 2005 à 18:43 (CEST)
replies: text: enfin, je peut le faire, si tu n'était pas parti pour :) , si tu était motivé pour fair les shémas et les exemples, il vaut mieu que tu fasse les deux :). C'est toi qui vois →þaצo ♫ 25 mai 2005 à 21:52 (CEST)
replies: text: arf'... :) ok. NonNobis 26 mai 2005 à 15:03 (CEST)

message: Perso je ne vois pas trop le rapport entre AOP et IOC.
Pour moi les deux visent effectivement à un meilleur découplage mais ce sont deux choses bien différentes. --xerus 12 août 2005 à 11:49 (CEST)
replies: text: pareil :D ; j'avais même pas fait gaf :/ ~ þayo ♫♪♫♪ 12 août 2005 à 17:09 (CEST)
replies: text: avec l'ajout d'un lien vers IOC (et se définition) ça ne me choque plus. C'est plutôt claire qu'il y a un rapport. ~ þayo ♫♪♫♪ 22 septembre 2005 à 11:18 (CEST)
replies: text: bof, moi je ne vois toujours pas. Spring utilise à la fois l'IOC et l'AOP mais on peut très bien faire de l'IOC sans AOP ou de l'AOP sans IOC. --xerus 22 septembre 2005 à 13:44 (CEST)
replies: text: Bin si on se dit qu'un aspect c'est du code qu'un object utilise pour aquerire une certaine propriété, cela revient a dir (pour par exemple l'aspect "persistance"), que le code "persistance" de l'objet a été injecté dans l'aspect "persistance". On peut se dire que la programmation orientée aspect, c'est l'utilisation du principe d'IOC en regroupant les fonctions de même "aspect". ~ þayo ♫♪♫♪ 22 septembre 2005 à 19:32 (CEST)

text: heu sinon, c'est quoi Spring ? ~ þayo ♫♪♫♪ 22 septembre 2005 à 19:34 (CEST)
replies: text: Ben pour moi l'IOC ce n'est pas çà. Ce n'est pas du code qui est injecté avec l'IOC mais des dépendances (ie des références). En gros au lieu que l'objet aille chercher lui même ces dépendances, un conteneur lui donne ses références. C'est beaucoup moins compliqué techniquement que l'AOP. Mais cela simplifie grandement les tests et surtout permet un moindre couplage. cf http://www.martinfowler.com/articles/injection.html M. Sinon Spring c'est un framework web qui se base sur l'IOC et l'AOP --xerus 22 septembre 2005 à 21:07 (CEST)
replies: text: Ok, du coup ça n'a vraiment aucun rapport, c'est comme tu dis deux techniques qui peuvent se compléter, mais c'est tout. ~ þayo ♫♪♫♪ 22 septembre 2005 à 23:41 (CEST)
replies: text: l'AOP est basé sur une IOC - dans les sens Dependency Inversion Principle de l'article [Inversion de contrôle], par ailleurs pas assez explicite - parce qu'elle inverse les dépendances d'un système logiciel classique : par exemple une classe métier Java va utiliser des API de Log, d'accès SGBD, etc. : on a une dépendance 1-N entre 1 classe métier et N classes transverses. L'AOP permet de débarasser la classe métier de ses dépendendances en les réifiant en N Aspects séparés qui maintiennent chacun une dépendance 1-1 entre l'aspect transverse et la classe métier. On a donc une inversion des dépendance, effectiveiement appellé peut être "abusivement" IOC, mais c'est bien l'idée centrale de l'AOP. Après, le côté "injection de code", ça relève de la technique plus que du concept, c'est effectivement un moyen de réaliser l'IOC dans le cadre de l'AOP. NonNobis 24 septembre 2005 à 16:38 (CEST)
thread_title: IOC et AOP

message: Dans la définition du point de jonction on peut lire "il n'est pas possible [...] d'insérer un greffon au milieu du code d'une fonction".
Ceci est faux. Selon les langages il peut très bien être possible d'insérer un greffon dans le code d'une fonction. Le langage de point de coupe d'AspectJ permet par exemple d'insérer un greffon avant l'accès à un champ.
En fait, les points de jonctions dépendent du langage de point de coupe. Par exemple, le langage de point de coupe d'AspectJ ne permet pas de tisser un greffon avant (ou après, ou autour) d'une boucle. Une boucle n'est donc pas un point de jonction. Mais il est tout à fait envisageable qu'un autre langage (ou une prochaine version d'AspectJ) permette ce genre d'aspect, et donc les boucles deviendraient des points de jonction.
--Romain.Delamare (d) 10 octobre 2008 à 11:11 (CEST)
thread_title:  Problème dans la définition du point de jonction 

message: Bonjour. Je ne suis pas sûr d'avoir compris l'article, donc voyez ceci comme une demande d'éclaircissement. Voici ce que j'en retiens : l'AOP est un moyen pour ne pas toucher aux briques logicielles qu'on prend sur l'étagère au moment de la création d'un logiciel pour une application métier. Si ces briques logicielles doivent être modifiées pour fonctionner ensemble ou avec le code métier, elles le sont avec un système d'expressions rationnelles pour positionner les modifications nécessaires dans le code pris "sur l'étagère". Est-ce que c'est ça? Si oui, en quoi est-ce que l'AOP est fondamentalement autre chose qu'un mécanisme pour patcher les codes-sources? Merci.Greguar (d) 26 mai 2009 à 10:27 (CEST)
thread_title:  Comme la commande patch? 

message: Dans l'introduction on peut lire "aussi bien avec un langage orienté objet comme Python qu'avec un langage impératif comme le C". La mise en opposition des notions de langage orienté objet et de langage impératif ne me paraît pas correcte. La notion de langage impératif s'oppose plutôt à celle de langage déclaratif ou fonctionnel. Les langages orientés objets sont aussi des langages impératifs, même si certains peuvent être considérés comme multi-paradigmes.
Le langage C est un langage (impératif) procédural, et c'est peut être cette notion qui doit plutôt être opposée à celle de langage orienté objet. J'ignore si il est possible de faire de la programmation orientée aspect avec des langages non impératifs (Haskell, CamL, Prolog ...).
: D'accord - modification faite
: S.dubourg (d) 13 décembre 2011 à 11:29 (CET)
thread_title:  Langage orienté objet par opposition à langage impératif ?