7
votes

C ++ Modèles de conception de classe dans des projets open source

J'ai récemment commencé à apprendre des modèles de conception. J'ai compris les bases de quelques modèles. Maintenant, je veux familier avec des exemples de code réels lorsque ces modèles sont utilisés. Quelqu'un peut-il indiquer à certains projets open source où sont utilisés des modèles de conception? J'aimerais voir comment les modèles de conception sont utilisés dans le code du monde réel.


3 commentaires

Vous pouvez jeter un coup d'œil à cette question similaire: Stackoverflow.com / Questions / 5039196 / ...


"Si j'étais roi, je voudrais juste commencer à décapiter des personnes pour écrire des usines qui font des usines. Cela permettrait de sauver collectivement des milliards de dollars. Et chaque fois que vous faites un singleton, Dieu tue une start-up, deux si vous pensez que vous pensez ' ve a fait le fil-coffre-fort. " Dyer Landon


Je tiens à vous remercier tous pour de bonnes références !! Et oui, je suis sentiment que les singletons doivent être évités. Quelqu'un peut-il souligner comment nous pouvons exclure des singletons?


4 Réponses :


0
votes

Dans le livre de Gof que vous lisez probablement, pour chaque modèle de conception, ils fournissent un exemple de code réel, je veux dire non le code de l'échantillon, mais ils disent réellement dans quels projets chaque DP a été utilisé. Ces projets sont surtout opensource. Htth


1 commentaires

Sachez que les exemples C ++ du livre GOF ne représentent pas moderne C ++



2
votes

Voici quelques-uns des liens. Junit Cookbook offre un exemple brillant de plusieurs modèles - vraiment la peine de vérifier.

  1. Visite de Junit Cook
  2. DP de Vince Huton
  3. modèles de conception

    espère que cela aide.


6 commentaires

Sa question a été étiquetée comme C ++.


Ouais - mais les modèles sont plus agners agnostiques - des exemples de vie réels peuvent venir de n'importe où.


@NileSh: Seulement si les langues partagent des fonctionnalités. Comment allez-t-il apprendre des modèles de métaprogramming Modèles ou des modèles de gestion de la mémoire ou des modèles de sécurité d'exception? Certainement pas approprié.


@Deadmg: Regardez la question que c'est très générique et semble principalement centrée sur les modèles GOF. Et de plus, il a commencé à apprendre des modèles de conception - devrait-il commencer par les modèles haut de gamme? S'il vous plaît soyez prudent lorsque vous faites de l'exercice des votes.


@NileSh: la question ne mentionne pas aucun modèle , ou gof, comment pouvez-vous tirer de la conclusion de GOF? Le fait est que C ++ et Java ne partageent pas réellement que de nombreuses fonctionnalités linguistiques et ont des pratiques optimales très différentes, et les modèles de conception Java ne seront pas particulièrement utiles pour C ++. De plus, n'insultez-moi pas en suggérant que je suis négligent avec mon bowvote. Ce bowvote est ma discrétion personnelle. Suggérant que je me trompe dans l'émission, c'est une chose, négligente en est une autre. Quoi, pensez-vous que je vous ai bownvote par accident ou quelque chose?


@Deadmg: la question est étiquetée sous la balise des motifs de conception. Si vous regardez la définition qui est mentionnée lors de la publication sous cette balise - qui est elle-même de GOF. La plupart des PPL qui ont répondu ici y ont référé comme des modèles GOF. Vous semblez être le seul qui n'est pas d'accord. De plus, je l'ai déjà mentionné dans mes commentaires que les modèles que j'ai suggéré sont les agnostiques linguistiques et ne sont pas spécifiques à la langue. C'est pourquoi je suggérais d'examiner la question et ensuite mes réponses (spécifiquement les liens que j'ai mentionnés). Mais vous semblez avoir sauté cela avant de descendre!



2
votes

Eh bien, il s'agit d'un peu mon propre corne, mais un projet open source sur lequel je travaille rend une utilisation intensive du Modèle de méthode d'usine . Je mettant en œuvre les courts du modèle lui-même ici en tant que Ensemble de modèles, définissez une usine ici , enregistrez une sous-classe pour cette usine ici et utilisez l'usine pour instancier les objets ici .


0 commentaires

2
votes

iMho, ACE (environnement de communication adaptatif) peut être un bon exemple. Il utilise également des modèles C ++ avec des modèles de conception, qui sont également pragmatiques. Ce cadre prend la base de Architecture logicielle orientée modèle: modèles d'objets concurrents et en réseau livre, qui est également une bonne référence pour les modèles de conception, outre gof


0 commentaires