IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Débats sur le développement - Le Best Of Discussion :

Programmation Orientée Aspect - votre avis


Sujet :

Débats sur le développement - Le Best Of

  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Juillet 2002
    Messages
    705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 705
    Points : 393
    Points
    393
    Par défaut Programmation Orientée Aspect - votre avis
    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 :

  2. #2
    Membre expérimenté Avatar de davcha
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 258
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 258
    Points : 1 539
    Points
    1 539
    Par défaut
    Jamais entendu parler de ça. Qu'est-ce donc ?

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    292
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 292
    Points : 222
    Points
    222
    Par défaut
    Pour une introduction http://eclipse.org/aspectj/

  4. #4
    Membre expérimenté
    Avatar de narmataru
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 548
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 548
    Points : 1 680
    Points
    1 680
    Par défaut
    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.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 52
    Points : 38
    Points
    38
    Par défaut
    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.

  6. #6
    Membre expérimenté
    Avatar de narmataru
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 548
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 548
    Points : 1 680
    Points
    1 680
    Par défaut
    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 ?

  7. #7
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    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
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  8. #8
    Membre expérimenté
    Avatar de narmataru
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 548
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 548
    Points : 1 680
    Points
    1 680
    Par défaut
    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

  9. #9
    Inscrit

    Profil pro
    Inscrit en
    Février 2004
    Messages
    862
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2004
    Messages : 862
    Points : 1 229
    Points
    1 229
    Par défaut
    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.
    In my experience, any attempt to make any system idiot proof will only challenge God to make a better idiot.

  10. #10
    Membre averti
    Homme Profil pro
    Inscrit en
    Juillet 2002
    Messages
    705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 705
    Points : 393
    Points
    393
    Par défaut
    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à).

  11. #11
    Membre expérimenté
    Avatar de narmataru
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 548
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 548
    Points : 1 680
    Points
    1 680
    Par défaut
    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 ?)

  12. #12
    Membre averti
    Homme Profil pro
    Inscrit en
    Juillet 2002
    Messages
    705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 705
    Points : 393
    Points
    393
    Par défaut
    Il existe déjà un langage qui étend JAVA pour fournir des mot clés dédiés à la POA et ils risquent de tirer la bourre avec les framework purement JAVA dédiés à la POA

  13. #13
    Nouveau membre du Club
    Inscrit en
    Mai 2004
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 36
    Points : 36
    Points
    36
    Par défaut
    POA se vante plus qu'elle vaut c ni révoluton ni innovation mais simple méthode technique ou moins encore "astuces"
    pourtant ca s'avère trèes interessant quand on aborde de grands et de complexes projets
    "Le besoin est père de l'invention !" ELYAMANI Azaal

  14. #14
    Membre extrêmement actif
    Avatar de Madmac
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2004
    Messages
    1 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Alimentation

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 684
    Points : 1 373
    Points
    1 373
    Billets dans le blog
    7
    Par défaut
    Après une visite du site, j'ai impression que l'on veux implanté dans ce modèle des idées qui ont été dévellopées avec le tcl (les agents)...

  15. #15
    Expert confirmé
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Points : 4 166
    Points
    4 166
    Par défaut
    La programmation par aspect n'est qu'un "Add-on" des langages traditionnels, objets ou non. Elle permet d'apporter une solution élégante au pattern SoC (Separation Of Concern[1]). Les bénéfices au niveau de la maintenance de votre système sont évidents.

    L'aspect est tissé (par un weaver[2]) pour produire du code traditionnel. En d'autres termes, une fois la compilation effectuée, la notion d'aspect n'existe plus.

    _______________
    [1] Séparation des préoccupations
    [2] Tisseur
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

  16. #16
    Membre expérimenté
    Avatar de fabszn
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2002
    Messages
    974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2002
    Messages : 974
    Points : 1 638
    Points
    1 638
    Par défaut
    Hello,

    JDK1.5 n'integrerait elle pas l'AOP avec les annotations?
    @+

    Fabszn
    Twitter : @fsznajderman

    N'oubliez pas le bouton
    Comment bien poser ses questions sur le forum


  17. #17
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2
    Points : 2
    Points
    2
    Par défaut De la POA graphique...
    J'ai testé un outil sympa pour faire de la POA à base de modèle graphique, jTagStudio ( http://www.electronic-experience.com ).

  18. #18
    Membre habitué
    Inscrit en
    Octobre 2002
    Messages
    164
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 164
    Points : 190
    Points
    190
    Par défaut
    Bonjour,
    Effectivement la programmation orienté aspect n'a rien de révolutionnaire. Pourtant le coté intéressant à mon sens et de rester concentrer sur les problématiques métiers que l'on a à implémenter. A bas les try/catch, les logs, les gestions de sécurité qui pourrissent le code dans toutes les classes donc qui multiplient les lignes de code sans rajouter un niveau fonctionnel supplémentaire.

    Je crois que comme dans l'ensemble des technos, l'aspect participe à rendre moins technique le code et plus métier. Les problématiques techniques et transverses étant implémentés en aspect.

    Seul bémol aujourd'hui l'aspect ne fait pas encore partie d'un langage à part entière. En java il faut choisir entre la solution JBoss, AspectJ et bien d'autres qui ont chacun leurs avantages et leurs défauts.

  19. #19
    Membre chevronné

    Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Février 2004
    Messages
    758
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Février 2004
    Messages : 758
    Points : 2 085
    Points
    2 085
    Par défaut
    La question à se poser, à mon sens, est d'abord de savoir si cette simplification du code grâce à la POA (que je trouve toute relative), est suffisante pour masquer la difficulté, le temps à passer en plus (tissage à faire, et j'en passe...) et l'apprentissage de la POA.

    J'en doute fortement.

  20. #20
    Expert confirmé
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Points : 4 166
    Points
    4 166
    Par défaut
    Ce que tu dis est vrai pour toutes technique de génie logicielle en général. C'est toujours plus facile de développer comme un bourrin que de bien développer en suivant les préceptes du GL. La différence se ressent sur le long terme et à de grandes échelles, comme toujours dans ce domaine.
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

Discussions similaires

  1. [AOP] programmation orientée Aspect en PHP
    Par anaon dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 23/06/2012, 15h08
  2. Programmation Orientée Aspect - votre avis
    Par Alec6 dans le forum Autres
    Réponses: 70
    Dernier message: 09/07/2009, 12h19
  3. [POO] Programmation Orientée Aspect
    Par Ethylene dans le forum Langage
    Réponses: 13
    Dernier message: 23/03/2006, 11h56
  4. [AspectJ] programmation orientée aspect
    Par soeursourire dans le forum Autres
    Réponses: 6
    Dernier message: 11/02/2006, 20h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo