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

Design Patterns Discussion :

Inconvénients des pattern


Sujet :

Design Patterns

  1. #1
    Membre régulier Avatar de TheCaribouX
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2008
    Messages
    255
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

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

    Informations forums :
    Inscription : Mars 2008
    Messages : 255
    Points : 122
    Points
    122
    Par défaut Inconvénients des pattern
    Bonjour,

    j'aurais aimé avoir votre avis concernant de potentiels inconvénients ou risques des design patterns. Pour le peu que j'y connais, j'aurais tendance à dire qu'un débutant en la matière aurait vite tendance à vouloir "gaver" son code de design pattern sans que ceux-ci soient une valeur ajoutée au programme. Mais je me trompe peut-être.

  2. #2
    Membre actif Avatar de mOuLi
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2008
    Messages
    170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2008
    Messages : 170
    Points : 257
    Points
    257
    Par défaut
    Effectivement truffer le code de design pattern n'est pas forcément bon pour la compréhension. Il faut le plus possible se poser la question de l'intérêt d'utiliser un design pattern (en gros est-ce que ça ne va pas augmenter la complexité ?). Souvent à cause du principe du "au cas où", on en arrive à monter des usines à gaz.

    Un bon point de départ pour juger de l'intérêt d'utiliser un pattern sont les principes suivants : DRY et KISS. Ca c'est pour définir les pattern au début (dès la conception) mais dans un 2ème temps, il est tout à fait envisageable de mettre en place des design patterns par refactoring.

  3. #3
    Membre expert
    Avatar de hed62
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2007
    Messages
    2 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 029
    Points : 3 134
    Points
    3 134
    Par défaut
    +1, évitons la patternite aigüe... Les pattern ne sont pas des choses à vouloir placer pour faire beau. Par contre ils sont une bonne solution à des problèmes récurrents. Il ne faut pas employer de solution pour un problème inexistant (un peu comme avec les médicaments, ca fait pire que mieux).

    Sinon les pattern en tant que tel , correctment utilisés n'ont pas vraiment de défaut, mais ils ont des champs d'actions plus ou moins restreints, qu'il faut connaitre.
    Hervé Delannoy, Ingénieur études&développement.

    Je n'accepte pas les demandes de mise en relation MSN/yahoo sans motif.
    ------------------------------------------------------------------------
    Si , ni , ne peuvent vous aider, mais nous oui, pensez à un pti et au !
    Merci de vous relire
    ____________________________________________________________________________________
    Recherche joueurs de "Magic" sur Lille et environs.
    Donner plutôt que jeter.

  4. #4
    Membre régulier Avatar de TheCaribouX
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2008
    Messages
    255
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

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

    Informations forums :
    Inscription : Mars 2008
    Messages : 255
    Points : 122
    Points
    122
    Par défaut
    okay, ca me conforte dans ce que je pensais.

    !

    (je mets résolu meme si y'avait pas vraiment de problème. Que ca n'empeche pas d'autres opinions de s'exprimer!)

  5. #5
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    A la base, les patterns dérivent de l'architecture des bâtiments.

    Dans une maison, je me vois mal mettre des portes partout, 5 par mur, des fenêtres sur les murs intérieurs, ... De même, faut pas mettre des patterns partout, les mauvais, ...
    Comme le dit Martin Fowler, pas de surspécification. Si on a besoin d'une amélioration, on refactore et si c'est un problème classique, on utilisera un pattern, sinon, on laisse en l'état

  6. #6
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 614
    Points : 30 626
    Points
    30 626
    Par défaut
    Salut,

    Personnellement, je considère les patterns comme des moyens d'apporter une solution validée à des problème clairement identifiés.

    Et donc, si on se trouve confronté à un problème identifié comme ayant une réponse sous la forme d'un pattern particulier, je me dis qu'il est sans doute plus facile et plus rapide de se baser sur celui-ci que de "réinventer la roue en permanence".

    Cependant, les patterns sont exactement comme toutes les techniques que l'on peut aborder en programmation: très utiles et efficaces quand on en a réelleemnt besoin et catastrophiques si elles sont utilisées à mauvais escient.

    Mon approche générique est toujours que
    aucune méthode n'est mauvaise (pour autant que l'algorithme soit correct), simplement, certaines méthodes sont plus efficaces que d'autres... A nous de choisir les meilleures
    Le choix d'utiliser un pattern doit, selon moi, être fait parce que, parmis l'éventail de méthodes existantes, ce sera celle qui s'avérera la meilleure

    Et j'adhère donc tout à fait à l'avis général qui conseille d'évaluer correctement l'avantage qu'ils apportent dans la circonstance (unique ) dans laquelle on se trouve avant de les utiliser
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 7
    Dernier message: 15/09/2008, 11h15
  2. [RegEx] Lister des patterns qui ne sont pas dans une liste
    Par guidav dans le forum Langage
    Réponses: 2
    Dernier message: 28/12/2007, 18h14
  3. Avantages/inconvénients des systèmes de fichiers.
    Par loopback dans le forum Administration système
    Réponses: 6
    Dernier message: 03/11/2007, 18h03
  4. BDS - utilisation des Patterns
    Par RamDevTeam dans le forum Delphi .NET
    Réponses: 1
    Dernier message: 05/11/2006, 17h35
  5. Réponses: 3
    Dernier message: 16/06/2006, 16h36

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