2010-09-21 14 views
9

Ich bin ein bisschen neu im Design Pattern-Konzept.
C# ist meine primäre Programmiersprache. (Ich benutze VB von Zeit zu Zeit). Ich will keinen schlampigen Code schreiben, der unflexibel, nicht erweiterbar und fehlerhaft ist.
Immer wenn ich ein Designmuster in Aktion sehe, genieße ich die Logik dahinter und verstehe es gut, aber leider habe ich Probleme, sie in meinen Projekten umzusetzen.Design Patterns ... Wo soll ich anfangen? (Einige reale Proben)

Sie sehen, es gibt viele Design-Muster (120+ denke ich) und ich bin irgendwie unter ihnen verloren, wenn ich entscheiden will, welche zu verwenden.
Wenn es darum geht, sie in Aktion zu verwenden, habe ich keine Ahnung, was ich wählen soll.
Alles, was ich von Tutorials bekomme, sind einige ziemlich einfache Code-Snippets, die weit entfernt von der Produktionsumgebung sind. außer DDD-Muster was ich geschafft habe, es gut zu lernen, da es mindestens 2 gute Bücher und viele Ressourcen darüber gibt.

Jetzt meine Frage:
Gibt es irgendwo, dass ich einige echte Proben mit verschiedenen Design-Muster finden kann? Zumindest einige "praktischere" Beispiele. Kennst du irgendwo, dass ich solche Bücher/Proben/Ressourcen auch für andere Muster finde?
Danke.

Antwort

11

Ich würde mit dem Head First Design Patterns Buch beginnen. Es ist nicht annähernd so kompliziert wie einige der anderen Bücher und soll eine Lernerfahrung statt einer Referenz sein.

Viel besser für das Lernen von Grund auf meiner Meinung nach. Kopf zuerst Bücher sind ziemlich gut über die Präsentation des Materials auf interessante Weise und machen einen netten Job, Sie interessiert zu halten. Dieses Buch versucht auch, jedes Muster an ein pseudo-real-life Beispiel zu binden.Ihre Beispiele sind vielleicht nicht relevant für das, woran Sie gerade arbeiten, aber sie befassen sich zumindest mit den gleichen Problemen wie reale Probleme (ich denke, das erste Beispiel behandelt das Schreiben eines Enten-Simulations-Videospiels).

Auch Head First Design Patterns konzentriert sich auf Ihr Gehirn mit so viele Muster wie möglich pauken so können Sie erkennen, wenn Sie in einer Situation sind, eine zu verwenden und auch zumindest genug ausgestattet sein loszulegen. Hier kann eine spezifische Referenz wie das GoF-Buch hilfreich sein.

Denken Sie jedoch daran, dass sich Head First-Bücher normalerweise auf Anfänger konzentrieren. Ihre Bücher sind kein gutes Lernmaterial, wenn Sie die Zwischenstufe eines bestimmten Themas erreicht haben.

+0

+1 Ein tolles Buch für den Einstieg. Es macht es viel einfacher, als nächstes in das GoF-Buch zu kommen, für Leute, die neu in diesen Themen sind. – FrustratedWithFormsDesigner

+2

Es ist lustig, jeder scheint zuzustimmen, es ist das beste Buch, aber ich mochte nie, wie es strukturiert war. – ken

+0

@ken ja, es ist ein bisschen anders, das ist sicher. Obwohl es seltsam strukturiert ist (anders als fast jedes andere Buch, besonders technische Bücher), bietet es meiner Meinung nach das Material in einer viel zugänglicheren Methode als jedes andere Designmuster, das ich bis jetzt gesehen habe. Sie tun dies, indem sie die Themen so weit wie möglich abschwächen, so dass sie fast trivial leicht zu verstehen sind. Designmuster sind jedoch so ein heikles Thema, dass es in diesem Fall tatsächlich funktioniert. –

9

Ich fühle mich immer noch wie die original gang of four Design Patterns book ist der beste Weg, dies zu lernen. Der Fokus liegt nicht darauf, das Muster in einer bestimmten Sprache oder an einem bestimmten Ort zu verwenden, sondern wirklich zu beschreiben, warum die Muster existieren.

Sobald Sie wirklich verstehen, warum die Muster existieren (nicht nur, wie sie funktionieren), kommt die Verwendung in Ihrem eigenen Produktionscode auf natürliche Weise.

+1

+1, das GoF-Buch ist immer noch ein Muss gelesen. –

+0

Nachdem ich diese Frage 4 Jahre lang gestellt habe, muss ich zugeben, dass das ursprüngliche GoF-Buch weitaus besser ist als jede andere Ressource. – Kamyar

0

lesen Martin Fowlers Patterns of Enterprise Application Architecture:

http://www.amazon.co.uk/Enterprise-Application-Architecture-Addison-Wesley-Signature/dp/0321127420

Und auch Anwendungen für das Enterprise Architecting:

http://www.amazon.co.uk/Microsoft-NET-Architecting-Applications-PRO-Developer/dp/073562609X

Beide sind gut. Letzteres enthält einige .NET-Beispiele für Muster, die in Martin Fowlers Buch veröffentlicht wurden. Beide Bücher erklären, wann es gut ist, ein gegebenes Muster zu verwenden.

2

Beginnen Sie mit den GoF-Mustern. ISBN 978-0201633610 Entwurfsmuster: Elemente von wiederverwendbarer objektorientierter Software

1

Diese Website hat eine gute Liste der klassischen Mustern und anderen verknüpften Themen mit Beispielen: SourceMaking.

PS: Ich war immer besorgt über die Rechte, die diese Seite hat oder nicht, diese Informationen zu veröffentlichen. Der Refactoring-Teil ist eine Kopie des Martin-Fowler-Buches, aber ich habe nie einen expliziten Hinweis gefunden.

2

Das Verständnis von Entwurfsmustern kommt mit Zeit und Erfahrung. Wenn Sie nicht sehr talentiert sind, werden Sie wahrscheinlich am Anfang Code schreiben, der effizienter strukturiert werden kann und Sie werden es nicht einmal bemerken. Mach dir darüber keine Sorgen.

Die Sache mit Designmustern ist zu lernen, ihren Nutzen zu sehen. Die besondere Form eines Musters hat meist ganz bestimmte Gründe. Es ist einfach, ein Muster zu lernen, sobald Sie die Gründe herausgefunden haben, warum das Organisieren von Code auf diese Weise nützlich ist. Stellen Sie Fragen, stellen Sie Hypothesen auf, experimentieren Sie und sehen Sie, ob Sie Recht hatten.

Zum Lesen würde ich empfehlen Design Patterns Explained und die SourceMaking-Site Matthieu vorgeschlagen ist auch gut.

Verwandte Themen