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

C++ Discussion :

Qu'est ce que c'est le design pattern ?


Sujet :

C++

  1. #1
    Membre chevronné
    Profil pro
    MOA
    Inscrit en
    Décembre 2002
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : MOA

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 013
    Points : 1 763
    Points
    1 763
    Par défaut Qu'est ce que c'est le design pattern ?
    J'ai eu lors d'un entretien d'embauche le droit à comme question :
    Quel sont les 3 notions fondamentales en objet ?

    - l'héritage
    - le polymorphisme
    - le design pattern

    Je ne connaissais pas du tout la 3ème. Qu'est ce que c'est le design pattern ?

    Est ce si important ?

    j'ai essayer de regarder dans la FAQ mais j'ai rien trouvé ni dans mon petit bouquin eyrolles alors que je peux trouver polymorphisme et héritage oui ...

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2004
    Messages : 54
    Points : 76
    Points
    76
    Par défaut
    En gros les design patterns sont une sorte de "bonne pratiques de la programmation". Ce sont en fait un ensemble de solution connues pour des problèmes classiques de programmation.
    Mais j'avoue que j'ai un peu de mal à saisir le lien avec la programmation orientée objet, dans la mesure ou le fait d'avoir des bonnes pratiques est plus ou moins indépendants du langage utilisé (même si une bone pratique aka un design pattern particulier peut lui être lié à un langage particulier, tu me suis? )

    Maintenant est-ce important?
    Je dirai qu'à partir du moment ou l'on essaie d'attacher un tant soi peu d'importance à la qualité du code que l'on écrit, alors cela devient utile, voir essentiel.
    Mais c'est aussi typiquement le genre de chose qui s'acquiert avec le temps. Néanmoins, il exite des bouquins sur ce genre de chose, aussi le fait d'en lire l'un ou l'autre peut être utile si tu veux faire carrière dans la prog.

  3. #3
    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
    Les design patterns, c'est un ensemble de design typiques qu'on retrouve fréquemment et qui permettent de répondre à certaines question fréquentes - pattern stratégie, state, la factory, le singleton, composite, sont sans doute les plus connus. La référence des DP : http://uml.developpez.com/livres/#L0201634988

  4. #4
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Points : 2 757
    Points
    2 757

  5. #5
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Points : 2 757
    Points
    2 757
    Par défaut
    ^^ j'ai comme l'impression qu'on a les mêmes lectures. j'ai opté pour la VF

  6. #6
    Membre chevronné
    Profil pro
    MOA
    Inscrit en
    Décembre 2002
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : MOA

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 013
    Points : 1 763
    Points
    1 763
    Par défaut
    oki. Cela me tente pas trop de payer un bouquin juste pour le design pattern ...
    J'ai trouvé 2 tutoriels :
    http://abrillant.developpez.com/tuto...oduction/#L3.2
    http://smeric.developpez.com/java/uml/singleton/

    je regarderai ca demain ...
    merci

  7. #7
    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
    Fait gaffe de ne pas abuser du singleton C'est largement pas le plus important. Et si, ça vaut la peine de le lire, ce livre, c'est LA référence, les tutos ne sont pas aussi complets.

  8. #8
    CGi
    CGi est déconnecté
    Expert éminent
    Avatar de CGi
    Inscrit en
    Mars 2002
    Messages
    1 030
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 1 030
    Points : 8 316
    Points
    8 316
    Par défaut
    Citation Envoyé par weed
    Quel sont les 3 notions fondamentales en objet ?

    - l'héritage
    - le polymorphisme
    - le design pattern
    J'aurai mis :

    - l'encapsulation
    - l'héritage
    - le polymorphisme
    Site : http://chgi.developpez.com

    Pourquoi faire simple quand on peut faire compliqué ? (Jacques Rouxel)

  9. #9
    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
    C'est vrai que les design patterns ne sont pas fondamentaux à l'orienté objet.

  10. #10
    Membre chevronné
    Profil pro
    MOA
    Inscrit en
    Décembre 2002
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : MOA

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 013
    Points : 1 763
    Points
    1 763
    Par défaut
    et bien c'est à dire que lors de mon entretien c'etait ca. C'etait une SSI qui était assez tourné vers la finance ....

    De plus, j'ai envoyé un CV à une annonce proposant formation + emploi et on peut trouver sur cette annonce :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Introduction à la finance du marché (10j)
    L'informatique en finance (20j)
    Java / J2EE - Développement avancé c++ - DOT NET - UML - Design patterns, orientés finances
    
    Les outils metier en finances (10j)
    Stage en entreprise (20j)
    apparrement ils ont l'air de trouver cela important pour en avoir entendu parler 2 fois (entretien + annonce)

  11. #11
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Points : 2 757
    Points
    2 757
    Par défaut
    les design patterns sont importants à connaître si on veut programmer efficacement et sans réinventer la roue. mais ça n'est pas fondamental à l'objet, on peut avoir des patrons de conception ailleurs qu'en programmation orientée objet. aujourd'hui beaucoup d'offres d'emploi en informatique objet demandent de connaître les (des) patrons. (on en utilise sans le savoir. mais c'est mieux de les connaître pour pouvoir réutiliser les méthodes de conception).

    par contre l'héritage, le polymorphisme et l'encapsulation sont intrinsèquement liés à la programmation objet. c'est en ça qu'on dit qu'ils sont fondamentaux.

  12. #12
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Février 2006
    Messages
    943
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Février 2006
    Messages : 943
    Points : 1 156
    Points
    1 156
    Par défaut
    Citation Envoyé par Miles
    Fait gaffe de ne pas abuser du singleton C'est largement pas le plus important. Et si, ça vaut la peine de le lire, ce livre, c'est LA référence, les tutos ne sont pas aussi complets.
    C'est Pourtant si pratique ;-)

    Plus sérieusement, un bon développeur doit connaitre les design pattern.
    Je t'assure que lorsque tu as commencé tu arrete plus.

    DESIGN PATTERN par la pratique de A. Shalloway et J.R. Trott chez Eyrolles

    est ce que j'ai trouvé de mieux.
    250 pages pour connaitre le principal, aprés libre a toi de découvrir les autres.

    Le plus important étant d'acquérir une démarche te permettant de concevoir ton programme le mieux possible et c'est la que ce bouquin est GENIAL.

  13. #13
    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
    Il y a des design patterns pour chaque domaine ou presque. Il y a les généraux qui sont dans le livre DP, après selon le domaine, on en trouve dans des livres sur le domaine.

  14. #14
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 275
    Points : 10 985
    Points
    10 985
    Par défaut
    Citation Envoyé par CGi
    - l'encapsulation
    - l'héritage
    - le polymorphisme
    - Abstraction (l'encapsulation n'est que le moyen d'y parvenir)
    - Polymorphisme d'inclusion (qui sous entend un peu l'aspect le plus important de l'héritage, AMHG)

    Comme quoi, on a tous des visions différentes
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  15. #15
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    624
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 624
    Points : 754
    Points
    754
    Par défaut
    Les design patterns ou modèles de conception en francais sont en quelque sorte des algorithmes orientés conception.
    Ils proposent un modèle d'organisation de classes en vue de résoudre un problème récurrent et générique.
    Ils sont le fruits de l'experience de nombreux programmeurs qui se sont heurté aux mêmes difficultées et ayant eu le même probleme de conception à résoudre.

    La POO permet la réutilisabilité des classes, les design patterns permettent la réutilisabilité des idées.

    Ils sont très utiles dans la mesure où ils définissent de bonnes règles de programmation orientée objet.

    Voici à titre d'exemple l'une de ces règles:
    Un programme doit être ouvert à l'extension mais fermé aux changements.
    Si l'on respecte ce precepte de conception poo, on s'assure la possibilité de pouvoir faire évoluer son code tout en ayant une maintenance efficace sur celui ci en évitant à avoir à retoucher et modifier son code en de multiples endroits.
    On en déduit qu'il faut encapsuler ce qui varie dans des classes séparées.

    Il ya tellement de choses à dire sur les design patterns que je renvoie à la litterature existante notamment le book du GOF à l'origine des patterns.

    En ce qui me concerne j'ai tendance à penser "Pattern" pour coder "Hello world".
    Il ne faut pas trop en abuser car ça alourdit le prog en nombre de classes.

    PS/ Méconnus et pourtant tout aussi utiles, j'ai l'honneur de vous présenter les anti patterns! (exemple le marteau d'or)

  16. #16
    Expert confirmé
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Points : 4 062
    Points
    4 062
    Par défaut
    Pour les antipatterns, une première approche:
    http://fr.wikipedia.org/wiki/Antipattern
    Formateur expert .Net/C#/WPF/EF Certifié MCP disponible sur Paris, province et pays limitrophes (enseignement en français uniquement).
    Mon blog : pragmateek.com

  17. #17
    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
    C'est de plus en plus connus, ça
    Un livre est sorti sur un antipattern pour certains : l'eXtreme Programming.

  18. #18
    Membre averti
    Avatar de David Fleury
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 253
    Points : 307
    Points
    307
    Par défaut
    Citation Envoyé par Luc Hermitte
    - Abstraction (l'encapsulation n'est que le moyen d'y parvenir)
    - Polymorphisme d'inclusion (qui sous entend un peu l'aspect le plus important de l'héritage, AMHG)

    Comme quoi, on a tous des visions différentes
    J'aurais classer l'Abstraction comme un "modèle de conception"
    utilisant plutôt le polymorphisme ?

  19. #19
    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
    Abstraction déjà avant le polymorphisme pour le concept des classes, je pense. On abstrait la notion d'un système en le considérant comme un objet et non pas comme une somme de structures sur lesquelles des fonctions agissent.

Discussions similaires

  1. est ce que GTK à un outil designer
    Par fan_diana dans le forum GTK+
    Réponses: 2
    Dernier message: 27/02/2012, 13h57
  2. est-ce que python est ce que je cherche
    Par SILICONE dans le forum Général Python
    Réponses: 5
    Dernier message: 21/12/2007, 14h23
  3. Un daemon qu'est ce que c'est exactement ?
    Par CedricYhuel dans le forum Administration système
    Réponses: 5
    Dernier message: 01/08/2003, 11h56
  4. Qu'est ce que c'est : Le GateA20 ?
    Par le mage tophinus dans le forum x86 16-bits
    Réponses: 5
    Dernier message: 24/02/2003, 15h09
  5. Qu'est-ce que c'est que Nessus, ça fait quoi exactement ?
    Par PeterT dans le forum Développement
    Réponses: 3
    Dernier message: 24/07/2002, 11h23

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