Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Quel est l'intérêt de la Programmation Orientée Aspect (AOP) ?

Le , par Alec6

7.3KPARTAGES

0  0 
Bonjour

Je découvre avec plaisir la programmation orientée aspect qui semble offrir un niveau supérieur d'asbstraction sur l'OO.

Je me demande si ce concept va véritablement se développer, notamment est ce les framework ou les langages incrémentant les langages OO actuel qui seront les plus portés.
Peut etre peut on produire des bibliothèques aspect ??

Est ce que vous utilisez déjà cette technologie dans vos projets.

Y a t-il un niveau d'abstraction supérieur ?

Un peu de lecture :

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de davcha
Membre expérimenté https://www.developpez.com
Le 22/06/2004 à 16:49
Jamais entendu parler de ça. Qu'est-ce donc ?
0  0 
Avatar de Bruno75
Membre actif https://www.developpez.com
Le 22/06/2004 à 19:01
Pour une introduction http://eclipse.org/aspectj/
0  0 
Avatar de narmataru
Membre expérimenté https://www.developpez.com
Le 24/06/2004 à 13:59
Voici une approche : http://www-igm.univ-mlv.fr/~dr/XPOSE...l/sommaire.htm
Ca m'a l'aire très interressant en tout cas Apparemment c'est l'évolution de la programmation après l'orienté objet.
Si quelqu'un à déjà essayé ce serait bien d'avoir son avis.
0  0 
Avatar de Ptibibi
Nouveau membre du Club https://www.developpez.com
Le 28/06/2004 à 11:54
Ca a l'air très intéressant mais comme certains autres projets (ça me fait penser à un certain projet de BDOO nommé Ozone) de ce type, j'ai peur que l'idée ne se développe pas suffisamment. En tout cas, le concept mérite qu'on y prête attention. C'est peut-être notre attention qui le fera se développer.
0  0 
Avatar de narmataru
Membre expérimenté https://www.developpez.com
Le 29/06/2004 à 0:17
Je pense pour ma part que ça va êter adopté comme la programmation par contrat l'a été. Il suffit d'attendre que un petit peu que ça se développe. Appemment ça marche bien, c'est robuste et cohérent ce qui n'est pas toujours le cas pour les BDDOO il me semble.
Je serais curieux de savoir s'il y en a qui voient ce principe en cours ?
0  0 
Avatar de Franck.H
Rédacteur https://www.developpez.com
Le 29/06/2004 à 8:05
J'ai vaguement lu un peu certaines infos là dessus mais est-ce qu'il s'agit d'une nouvelle technique de programmation, ou d'une nouvelle sur-couche de fonctionnalités des futurs langages ? En tous cas moi ca me dis pas grand chose .... cela peut etre bien à 1° vue pour de gros groupes de programmeur (entreprises etc....) mais à mon avis pas trop utile pour un simple mec qui programme chez lui en C lol
0  0 
Avatar de narmataru
Membre expérimenté https://www.developpez.com
Le 29/06/2004 à 9:19
Effectivement il semble que pour l'instant la programmation orienté aspect est une surcouche, en tout cas pour les java, mais il devrait y avoir l'émergeance de langages totalement orienté dans cette optique.

En tut cas voici un exemple claire : http://www.developer.com/design/article.php/3308941
0  0 
Avatar de Keihilin
Inscrit https://www.developpez.com
Le 29/06/2004 à 10:02
Citation Envoyé par narmataru
Voici une approche : http://www-igm.univ-mlv.fr/~dr/XPOSE2002/JAC/html/sommaire.htm
Ca m'a l'aire très interressant en tout cas Apparemment c'est l'évolution de la programmation après l'orienté objet.
Je ne sais pas si on peut parler d'évolution...je dirai plutôt un complément.

J'ai lu le lien que tu donnes, et certaines choses m'ont fait sourire :


La Programmation Orientée Objet effectue un découpage du projet selon les Objets (implémentation de Classes).
=> Caractéristiques: emmêlement et éparpillement du code.
=> Conséquences: à long terme mauvaise traçabilité, faible productivité, faible réutilisation et pauvre qualité du code, évolution complexe.
C'est exactement ce qu'on disait de la programmation procédurale pour promouvoir la POO.

A mon sens, POA et POO se rejoignent, s'entrecoupent et s'utilisent l'un l'autre.

N'importe quel programmeur ayant bossé sur de gros projets en POO a été confronté aux questions de "responsabilités" des différents objets...on regroupe souvent les objets ayant des responsabilités concernant le même scope (la sécurité par exemple) au sein d'un composant, ce qui à mon sens est de la POA.

En bref, rien de révolutionnaire...Juste un nom sur une approche de réflexion utilisée en POO depuis longtemps.
0  0 
Avatar de Alec6
Membre averti https://www.developpez.com
Le 29/06/2004 à 10:48
L'AOP est un niveau d'abstraction un petit peu au dessus de l'OO; ca ne remplace pas, c'est simplement complémentaire.

Les objets sont un regroupement d'entités procédurales=responsabilité et de données=état. Cependant, à ces objets il est parfois nécessaire d'ajoutér d'autres responsabilités qui ne sont pas de leur nature, tel que la sécurité, le débugging=trace etc... Pour faire cela on doit parasiter le code natif avec du code de ces "aspects" ==> code moche.

L'AOP permet d'éviter ce parasitisme en ayant un regard sur l'exécution du compilateur. Par exemple lors d'un appel à une méthode définie le système AOP pourra exécuter un programme (avant, pendant ou après la méthode) par exemple pour un appel à logging. Ceci ce fait sans adjonction de code dans les classes de notre applie.

Actuellement j'étudie cette technique pour voir si je peux faire une sorte de WinRunner automatique sur mes IHM, et pour retracer les dernières exécutions de l'utilisateur avant un bug (sorte de film).

PS: c'est quoi la prog par contrat (j'ai du retard là).
0  0 
Avatar de narmataru
Membre expérimenté https://www.developpez.com
Le 29/06/2004 à 10:49
Bien sure que l'on regroupe déjà les objets par responsabilité. Les packages sont là pour ça. De la à dire qu'on peut faire de la POA simplement en faisant celà... Ca reviendrais un peu à dire que l'on peut faire de la POO avec un langage procédurale. Un peu à la manière des objets de la librairie GTK qui sont pourtant en C. Ca ressemble mais bon c'est un peu limité. On peut penser qu'une struture associé à une liste de fonctions suffit à faire un objet mais bon ce n'est très pratique pour gérer l'héritage, le polymorphisme etc...
Pour ma part, je ne pense pas que l'on puisse faire de la POA vraiment aboutie rien qu'avec un langage objet de la même manière que l'on ne peut pas faire de la POO avec un langage procédurale. On peut s'y rapporcher mais ça reste assez basique.
La POA sera vraiment intéressant lorsqu'il y aura un langage créé dès le début avec cette optique.

En bref, rien de révolutionnaire...Juste un nom sur une approche de réflexion utilisée en POO depuis longtemps.
Oui bien sure. Mais si cette réfléxion est poussé à l'extrème et intégré au sein même d'un langage ça ne peut être qu'une évolution bénéfique (qui engendreront surement d'autres réflexions et ainsi de suite. Ca doit être comme ça qu'on avance non ?)
0  0