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 :

Quels motifs de conception en remplacement de l'héritage multiple ?


Sujet :

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

  1. #21
    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
    Citation Envoyé par BugBlaster Voir le message
    Il y a peut-être aussi des possibilités cotés programmation Orienté Aspect.

    Après, tout dépend de la manière, tant que cela reste dynamique me ca va (facile en .net ou en delphi si on a fait un peu de Com), a fuir s'il faut s'embarquer sur du statique (remplissage de xml+générateur de code).
    Tu peux faire ça en statique, sans passer par des générateurs de code et du xml.

    Il existe plusieurs bibliothèques qui font ça en .NET et en Java, par exemple, sans passer par du xml et de la génération de code.

    La plupart du temps, il s'agit plutôt de manipulation de bytecode.

  2. #22
    Expert confirmé
    Inscrit en
    Avril 2008
    Messages
    2 564
    Détails du profil
    Informations personnelles :
    Âge : 64

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 564
    Points : 4 441
    Points
    4 441
    Par défaut MULTIPLE INHERITANCE
    La seule alternative à l'heritage multiple actuellement c'est :
    - les design pattern "DELEGATE" & "INTERFACE"
    Avantage de cette methode :
    - les parties de code sont indepentantes les unes des autres.
    - possibilite de reutilisation plus vaste du code comme dans le cas de l'heritage(hors du cadre d'une classe ou d'un projet) .
    - tout avantage se paye -le pattern "DELEGATE" et particulierement
    "INTERFACE" necessite de reecrire du code d'implementation specifique a chaque objet.

  3. #23
    Inactif  
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 123
    Points : 130
    Points
    130
    Par défaut Extensions de méthode
    Bonjour,
    Sans vouloir détacher ce débat sur l'héritage multiple, je pense qu'au moins en C#, les extensions de méthodes sont une alternative à l'héritage multiple.
    Alors, c'est peut-être compliqué à comprendre, mais je vais juste donner un petit exemple en C#.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    class A {
      public void Start(int) { ... }
      public void End(int) { ... }
    }
    class ExtA {
      public static Interrupt(this A process, int i) { ... }
      public static Resume(this A process, int i) { ... }
    }
    C'est un peu comme si A héritait d'une nouvelle interface. Pourtant, on n'a rien modifié dans le code de A.
    under construction...

  4. #24
    Membre actif
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2009
    Messages : 182
    Points : 268
    Points
    268
    Par défaut
    Le strategy pattern utilise la composition et la delegation et elimine habituellement les problemes les plus simple d`heritage multiples.

  5. #25
    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
    Citation Envoyé par javan00b Voir le message
    Le strategy pattern utilise la composition et la delegation et elimine habituellement les problemes les plus simple d`heritage multiples.
    Ça n'a aucun rapport...
    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

  6. #26
    Membre actif
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2009
    Messages : 182
    Points : 268
    Points
    268
    Par défaut
    Citation Envoyé par Hephaistos007 Voir le message
    Ça n'a aucun rapport...
    La question initiale de Neuromancien2:

    De nombreux langage orientés objet ne supportent pas l'héritage multiple (Java, PHP, Pascal...). Or a on souvent besoin d'ajouter des fonctionnalités à un objet en réutilisant du code. Quels motifs de conception peut-on utiliser dans ce cas ? Le motif Décorateur est très intéressant mais ne peut pas être utilisé dans tous les cas.
    je dis seulement que dans certain cas un simple strategy pattern peut rendre l'utilisation de l'heritage multiple totalement inutile. pourquoi ? parce que beaucoup de developpeurs abusent de l'heritage multiple systematiquement parce qu'ils ne connaissent rien d'autres.

    Rare sont les cas utilisations d'heritage multiple justifié.

  7. #27
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par javan00b Voir le message
    Rare sont les cas utilisations d'heritage multiple justifié.


    bien que ne pratiquant pas de langages où c'est présent, je suis obligé d'admettre que le nombre de fois où je vois avancer l'héritage multiple comme argument ou comme "construction" est effarant.... par rapport à mon expérience où je n'en pas vraiment vu la pertinence de toute ma carrière (même en prenant des choses très objets comme les IHM...)

    Je pense que c'est un biais (encore) de l'enseignement de l'objet, et simplement un manque d'analyse ...
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

Discussions similaires

  1. Motif de conception
    Par pitchu dans le forum Android
    Réponses: 0
    Dernier message: 28/04/2015, 22h42
  2. objet 3d animé dans une scène, quel est le concept
    Par ShinobiX1 dans le forum Unity
    Réponses: 4
    Dernier message: 07/01/2014, 10h06
  3. [Décorateur] [Java] Quel modele de conception choisir au lieu de l'heritage ?
    Par Xiao-An dans le forum Design Patterns
    Réponses: 18
    Dernier message: 17/02/2007, 23h31
  4. quel type de conception pour un serveur?
    Par hisoka dans le forum Développement
    Réponses: 2
    Dernier message: 17/11/2006, 19h47
  5. [Conception] en remplacement de fopen
    Par Skeud007 dans le forum PHP & Base de données
    Réponses: 37
    Dernier message: 05/10/2006, 15h48

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