Existe-t-il un livre canonique sur les modèles de conception? [fermé]

Commentaires

  • Je ' ne sais pas si cest ce que vous ' y réfléchissez, mais je trouve beaucoup de trucs de développement intelligents sur Forrst .
  • Que diriez-vous dun title of " Sources de référence pour les modèles de conception

ou " Ressources de modèle de conception " (puisque je ne ' t mean " référence " simplement " recherche à la demande ") et déplacer tous les éléments de la liste dans le corps (ou le supprimer)?

  • .NET Design Pattern and Architectural Guidance
  • Pour certaines implémentations décentes, javais lhabitude de jeter un œil à celles sur dofactory (didn ' t acheter les livres cependant).
  • Étant donné que cette question a reçu une réponse complète et complète, jai ' fermé les autres questions sur les modèles de conception sont des doublons de celle-ci pour la désigner comme la paire canonique Q & A et réponse pour ce sujet.
  • Réponse

    Modèles de conception: éléments of Reusable Object-Oriented Software est très proche de ma définition dun livre canonique sur les modèles de conception. Selon son article sur wikipedia (cest moi qui souligne):

    La date de publication originale de le livre datait du 21 octobre 1994 avec un copyright de 1995 et, en juillet 2010, le livre était dans sa 38e impression . Le livre a été mis à la disposition du public pour la première fois lors de la réunion de lOOPSLA tenue à Portland, Oregon, en octobre 1994. Il a été très influent dans le domaine du génie logiciel et est considéré comme une source importante pour la théorie et la pratique de la conception orientée objet. Plus de 500 000 exemplaires ont été vendus en anglais et dans 13 autres langues .

    Ward Cunningham , un pionnier des patrons de design, gère un catalogue en ligne des patrons du livre sur WikiWikiWeb . Et selon larticle de Wikipedia sur le modèle de conception (encore une fois, cest moi qui souligne):

    Design patterns a gagné en popularité en informatique après la publication du livre Design Patterns: Elements of Reusable Object-Oriented Software en 1994 par le soi-disant « Gang of Four » (Gamma et al.).

    Il y a pas mal dautres livres référencés dans le même article comme notable dans le genre:

    Parmi ceux que jai lu le livre de Fowler, il est très influent et une bonne lecture. À certains moments, cest un peu vague à mon goût, mais dans lensemble, cest un livre agréable. Il existe un catalogue en ligne des modèles inclus dans le livre, avec des descriptions minimales.

    Jai également parcouru les modèles de conception Head First, et si vous avez lu un autre livre de la série Head First, il est de la même qualité et aussi agréable que la plupart des livres de la série :

    Head First est une série de manuels dintroduction à de nombreux sujets, publiés par O « Reilly Media. Il met laccent sur une combinaison peu orthodoxe, visuellement intensive et impliquant le lecteur dénigmes, de blagues, de conception et de mise en page non standard, et dun style de conversation engageant pour plonger le lecteur dans un sujet donné.

    Le terme « modèle de conception » est quelque peu vague, car chaque solution générale réutilisable peut être considérée comme un modèle de conception. Jai toujours remarqué une tendance à appliquer létiquette sur les solutions décrites dans une des livres notables que jai énumérés ci-dessus, et plus spécifiquement les livres Gang of Four et Fowler. Les modèles de conception ne suivent pas un processus de développement unique, il sagit dune solution logicielle normale s qui se trouvent être extrêmement réutilisables et qui sont extrêmement difficiles à identifier .

    Mais si vous comparez les catalogues en ligne des deux livres avec le contenu de livres spécifiques à une langue, vous remarquerez quils sont souvent utilisés comme modèles. Je dirais donc que les deux livres sont très proches dêtre canoniques références, le livre du GoF étant le plus important dun point de vue historique, même si les deux livres sont limités à la programmation orientée objet .

    Commentaires

    • +1. En fait, je voulais vous donner +5 mais hélas que ' nest pas autorisé.
    • Toute la série darchitecture logicielle orientée modèle concerne les modèles dans différents types de systèmes – Le volume 1 concerne les modèles architecturaux et les modèles qui traversent les domaines, le volume 2 concerne les systèmes concurrents, le volume 3 concerne la gestion des ressources dans les systèmes en réseau / distribués, le volume 4 concerne les systèmes distribués et le volume 5 concerne également les langages de modèles comme référence pour les 4 autres volumes. Compte tenu de la question, je pense que le volume 5 pourrait également être applicable, mais je nai ' pas passé trop de temps avec lui … pour le moment.
    • @Yannis celui-ci et la tête la première sont généralement basés sur des langages typés statiques. Existe-t-il de bons livres pour les langages dynamiques comme python?
    • @ ravi404 norvig.com/design-patterns

    Réponse

    Le livre du gang des quatre – Modèles de conception: éléments dobjets réutilisables- Le logiciel orienté est probablement ce qui se rapproche le plus dune norme de lindustrie sur les modèles de conception.

    Pour une introduction plus accessible, Head First: Design Les modèles sont également bons. Ne soyez pas rebutés par la couverture «à la mode», car cest une bonne lecture et vous aidera probablement à comprendre les concepts du livre du GoF beaucoup plus facilement si vous le lisez en premier.

    Réponse

    mg src = « https://i.stack.imgur.com/Fl7XR.gif » alt = « Head First Design Patterns » title = « Head First Design Patterns – description du livre sur O ' Reilly Media »>

    À tout moment, quelque part dans le monde, quelquun se débat avec les mêmes problèmes de conception de logiciel que vous. Vous savez que vous ne voulez pas réinventer la roue (ou pire, un pneu crevé), alors vous regardez les modèles de conception – les leçons apprises par ceux qui ont été confrontés aux mêmes problèmes. Avec Design Patterns, vous profitez des meilleures pratiques et de lexpérience des autres, afin de pouvoir passer votre temps sur … autre chose. Quelque chose de plus difficile. Quelque chose de plus complexe. Quelque chose de plus amusant.

    Vous voulez en savoir plus sur les modèles qui comptent – pourquoi les utiliser, quand les utiliser, comment les utiliser (et quand NE PAS les utiliser). Mais vous ne voulez pas seulement voir à quoi ressemblent les motifs dans un livre, vous voulez savoir à quoi ils ressemblent « dans la nature ». Dans leur environnement dorigine. En dautres termes, dans des applications du monde réel. Vous voulez également apprendre à quoi ils ressemblent. sont utilisés dans lAPI Java, et comment exploiter la prise en charge intégrée des modèles de Java dans votre propre code.

    Vous voulez apprendre les vrais principes de conception OO et pourquoi tout ce que votre patron vous a dit sur lhéritage pourrait se tromper (et que faire à la place). Vous voulez savoir comment ces principes vous aideront la prochaine fois que vous vous retrouverez dans une crique sans motif de conception.

    Plus important encore, vous voulez apprendre le « langage secret » des Design Patterns afin de pouvoir tenir le vôtre avec votre collègue (et impressionner les invités à un cocktail) lorsquil mentionne avec désinvolture son utilisation incroyablement intelligente de la commande, de la façade, du proxy et de lusine entre les gorgées dun martini. Vous allez facilement contrer avec votre profonde compréhension de la raison pour laquelle Singleton nest pas aussi simple que cela puisse paraître, comment la fabrique est si souvent mal comprise, ou sur la vraie relation entre décorateur, façade et adaptateur.

    Avec les Design Patterns Head First , vous « éviterez lembarras de penser que Decorator est quelque chose du spectacle » Trading Spaces « …

    Commentaires

    • Ceci. ' est une lecture très accessible, et a changé la manière Jaborde complètement le génie logiciel.
    • toute la série head first est géniale, en particulier pour les développeurs débutants.
    • Jadore le livre, mais je déteste absolument la couverture! Un collègue non-programmeur de le mien est passé devant mon bureau lautre jour, a vu le livre et a dit " Head First Designer Patterns? Vous vous lancez dans le secteur de la mode? "
    • @Pete Pourquoi la couverture peut vous causer plus de problèmes. Elle vit apparemment une double vie. fishbowl.pastiche. org / 2005/08/12 / …

    Réponse

    Oui, il existe un livre bien connu sur la desig n modèles: Modèles de conception: éléments de logiciels orientés objet réutilisables et les auteurs sont souvent appelés « le gang des quatre » (GoF) et sont référencés dans presque tous textes sur les modèles de conception.

    Commentaires

    • Aussi Martin Fowler ' livre de: amazon.com/Patterns-Enterprise-Application-Architecture-Martin/…
    • Voici pas un livre sur les modèles de conception. Il ' est un catalogue de motifs. Il y a ' une brève introduction aux modèles de conception au début, mais je ne pense ' que cette introduction est suffisante.
    • @J ö rgWMittag Il ' nest ' quun processus unique de création de design modèles, les modèles de conception sont des solutions réutilisables relativement petites. Les modèles de conception sont créés à travers les processus normaux de développement logiciel, ce qui les distingue est leur immense réutilisabilité. Le seul processus unique pertinent consiste à identifier une solution en tant que modèle de conception, et les catalogues le font finement.

    Réponse

    Modèles de conception: éléments de logiciels orientés objet réutilisables

    texte alternatif

    From wikipedia :

    Design Patterns: Elements of Reusable Object-Oriented Software est un livre de génie logiciel décrivant des solutions récurrentes à des problèmes courants dans les logiciels conception. Les auteurs du livre sont Erich Gamma, Richard Helm, Ralph Johnson et John Vlissides avec une préface de Grady Booch. Les auteurs sont souvent appelés le Gang of Four, GoF ou Go4. Le livre est divisé en deux parties, avec les deux premiers chapitres explorant les capacités et les pièges de la programmation orientée objet, et les chapitres restants décrivant 23 modèles de conception de logiciels classiques. Le livre comprend des exemples en C ++ et Smalltalk.

    Réponse

    Lun des meilleurs sites Web de modèles de conception est le Wiki de Ward, le tout premier wiki. Voir http://c2.com/cgi/wiki?HistoryOfPatterns pour une bonne page de départ.

    En 1987, Ward et Kent consultaient le Semiconductor Test Systems Group de Tektronix qui avait du mal à terminer une conception. Ils ont décidé dessayer les modèles quils avaient étudiés. Comme Alexander qui a dit que les occupants dun bâtiment devraient le concevoir, Ward et Kent ont laissé des représentants des utilisateurs (un formateur et un ingénieur de terrain) terminer la conception.

    Ward a proposé un «langage» à cinq modèles qui a aidé les concepteurs novices à tirer parti des forces de Smalltalk et à éviter ses faiblesses …

    Ward et Kent ont été surpris par lélégance (certes spartiate) de linterface conçue par leurs utilisateurs. Ils ont rapporté les résultats de cette expérience à OOPSLA 87 à Orlando. Ils ont rédigé une position de panel et présenté à latelier de Norm Kerth sur Doù viennent les objets? Ils ont parlé de motifs jusquà ce quils soient bleus sur le visage, et ont obtenu beaucoup daccord, mais sans modèles plus concrets, personne ne sinscrivait.

    Pendant ce temps, Erich Gamma était occupé à écrire et à réfléchir sur la conception orientée objet en ET ++ dans le cadre de sa thèse de doctorat. Erich avait réalisé que les structures ou modèles de conception récurrents étaient importants. La question était vraiment de savoir comment les capturer et les communiquer.

    Bruce Anderson a donné une conférence à TOOLS 90 à laquelle ErichGamma était présent; Erich a aimé la conversation. Bruce a donné un article à EcoopOopsla90 (Ottawa) et a dirigé un BOF intitulé Toward an Architecture Handbook où lui, Erich Gamma, Richard Helm et dautres ont discuté des modèles.Cétait la première fois que Richard et Erich se rencontraient et ils se sont rendu compte quils partageaient des idées communes sur les idées clés derrière lécriture de logiciels OO réutilisables.

    Juste avant ECOOP « 91 Erich Gamma et Richard Helm, assis sur un rooftop à Zurich par une journée dété étouffante, a rassemblé les débuts très modestes du catalogue de modèles qui allait devenir DesignPatterns …

    Les choses ont vraiment démarré à latelier OOPSLA que Bruce a dirigé en 1991 Par coïncidence, Erich Gamma, Richard Helm, Ralph Johnson et John Vlissides étaient tous là; ils deviendront plus tard le Gang of Four auteur du livre Design Patterns

    Réponse

    Je pense que le Refactoring to Patterns peut être utile simplement parce quil décrit comment certains desing / codes peuvent être refactorisés en modèles dans le livre du GoF. Cela peut aider à surmonter la courbe dapprentissage initiale. Oh et il contemple également sur « Pattern-bonheur » 🙂

    Vous pouvez également trouver les trois premiers volumes de Pattern-Oriented Software Architecture pour être une bonne lecture.

    Réponse

    Modèles de conception

    Ce site de didacticiel contient les sous-sections suivantes

    • Intention de chaque modèle de conception
    • Structure du monde réel pour le modèle de conception
    • Un énoncé du problème
    • Discussion détaillée sur le problème
    • Liste de contrôle pour arriver à un modèle
    • Règles générales en arrivant au modèle.
    • Extraits de code pour le modèle de conception qui comprend C #, C ++, Delphi, Java et PHP

    Ce site contient également un guide sur les Anti Patterns, UML et Refactoring.

    Commentaires

    • Le site SourceMaking semble simpliste à première vue, mais il ' vraiment une excellente référence. Mis à part les modèles de conception, certains des antipatterns de gestion de projet de & de développement, darchitecture sont hilarants. Les solutions refactorisées peuvent en fait vous aider à enregistrer une réunion qui ' déraille. (Pas mal pour une référence de modèle de conception)

    Réponse

    Le livre original, « Design Patterns: Elements of Le logiciel orienté objet réutilisable « est une bonne ressource pour les modèles de conception orientés objet.

    Il existe de nombreux autres livres là-bas. Lorsque jai besoin dune référence rapide et que mon livre GoF est hors de portée, Wikipédia a normalement suffisamment dinformations sur ces modèles et dautres modèles de conception.

    Ce sont les principaux que jutilise. Il convient également de noter que les gens ont commencé à appliquer le format de modèle à dautres choses, comme la gestion de projet.

    Si vous voulez en savoir plus sur les antipatterns, dont vous devez être conscient, il existe deux livres, « AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis » ainsi que « Refactoring: Improving the Design of Existing Code » qui contient une section sur les odeurs de code, un autre nom pour les antipatterns.

    Réponse

    « Principes, modèles et pratiques Agile en C # » de Robert C. Martin. Je pense quil a également une version Java du livre.

    De plus, pas un modèle en lui-même, mais Domain Driven Design a de très bons concepts même si vous nutilisez pas lapproche DDD complète.

     * Ubiquitous Language * Code first approach (vs. DB first) * etc. 

    Réponse

    Si vous êtes spécifiquement intéressé par les modèles de conception en C ++, essayez Conception C ++ moderne par Andrei Alexandrescu.

    Ce livre explique comment implémenter commonl y a utilisé des modèles tels que Factory, Singleton et Visitor en C ++. Il aborde également des sujets très spécifiques au C ++ tels que les pointeurs intelligents, la métaprogrammation de modèles et la conception de classes basée sur des règles.

    Lauteur du livre est un expert faisant autorité , connu pour son

    travail de pionnier sur la conception basée sur des politiques implémenté via la métaprogrammation de modèles. Ces idées sont articulées dans son livre Modern C ++ Design et ont dabord été implémentées dans sa bibliothèque de programmation, Loki. Il a également implémenté le concept de «déplacer les constructeurs» dans sa bibliothèque MOJO. Il a contribué au journal C / C ++ Users sous la signature « Generic < Programming > » …

    Commentaires

    • pourriez-vous expliquer plus en détail ce quil fait et ce quil fait ' est bon pour? Les " Les réponses aux liens uniquement " ne sont pas tout à fait les bienvenues chez Stack Échange
    • @gnat: comment ' est-ce?
    • Eh bien, votre récente modification me semble certainement une amélioration.Bien que les lecteurs de la réponse bénéficieraient probablement dune explication plus détaillée de qui est Aleksandresku
    • @gnat: puisque vous savez évidemment qui il est, nhésitez pas à modifier ma réponse.

    Laisser un commentaire

    Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *