it-swarm.com.de

Wann welches Designmuster verwenden?

Ich mag Designmuster sehr, aber ich finde es schwierig zu erkennen, wann ich eines anwenden kann. Ich habe viele Websites gelesen, auf denen Designmuster erklärt werden. Ich verstehe die meisten von ihnen, aber es fällt mir schwer, ein Muster in meinen eigenen Situationen zu erkennen.

Deshalb stelle ich diese Frage. Gibt es Richtlinien/Alarmglocken, wann welches Entwurfsmuster zu verwenden ist?.

Wenn Sie beispielsweise eine switch-Anweisung ausführen, um zu bestimmen, welches Objekt Sie erstellen müssen, möchten Sie wahrscheinlich das Factory-Entwurfsmuster verwenden. Die switch-Anweisung ist in diesem Fall eine Alarmglocke, um das Factory-Muster zu verwenden.

Kennen Sie also mehr Alarmglocken, um ein Entwurfsmuster zu bestimmen?

101
Martijn

Für den Anfang werfen Sie einen Blick auf diese Seite: http://codebetter.com/jeremymiller/2006/04/11/six-design-patterns-to-start-with/

Während Jeremy sich hier mit einigen Mustern befasst, müssen Sie diese Artikel lesen und sie dann weiterverfolgen: http://codebetter.com/jeremymiller/2005/09/01/learning-about-design- patterns /

Verwenden Sie auch die Verweise auf diesen Artikel (insbesondere Eric Gammas Interview) und Sie sollten eingestellt sein.

37
J K

Normalerweise ist der Prozess umgekehrt. Suchen Sie nicht nach Situationen, in denen Entwurfsmuster verwendet werden sollen, sondern nach Code, der optimiert werden kann. Wenn Sie Code haben, der Ihrer Meinung nach nicht richtig strukturiert ist. versuchen Sie, ein Entwurfsmuster zu finden, das das Problem löst.

Entwurfsmuster sollen Ihnen helfen, strukturelle Probleme zu lösen. Entwerfen Sie Ihre Anwendung nicht, um Entwurfsmuster verwenden zu können.

96
Joep Killaars

Lernen Sie sie und Sie werden langsam in der Lage sein, herauszufinden, wann Sie sie verwenden müssen. Beginnen Sie mit etwas Einfachem wie dem Singleton-Muster :)

wenn Sie eine Instanz eines Objekts und nur EINE erstellen möchten. Sie verwenden das Singleton-Muster. Angenommen, Sie erstellen ein Programm mit einem Optionsobjekt. Sie wollen nicht mehrere von denen, das wäre dumm. Singleton stellt sicher, dass es nie mehr als eine geben wird. Das Singleton-Muster ist einfach, wird häufig verwendet und ist sehr effektiv.

5
Peter Rasmussen

Ich stimme vollkommen mit @Peter Rasmussen überein.

Entwurfsmuster bieten eine allgemeine Lösung für häufig auftretende Entwurfsprobleme.

Ich möchte, dass Sie wie folgt vorgehen.

  1. Verstehe die Absicht jedes Musters
  2. Verstehen Sie die Checkliste oder den Anwendungsfall jedes Musters
  3. Überlegen Sie sich eine Lösung für Ihr Problem und prüfen Sie, ob Ihre Lösung in die Checkliste eines bestimmten Musters fällt
  4. Wenn nicht, ignorieren Sie einfach die Entwurfsmuster und schreiben Sie Ihre eigene Lösung.

Nützliche Links:

sourcemaking : Erklärt Absicht , Struktur und Checkliste schön in mehreren Sprachen einschließlich C++ und Java

wikipedia : Erläutert Struktur, UML-Diagramm und Arbeitsbeispiele in mehreren Sprachen, einschließlich C # und Java.

Checkliste und Faustregeln = in jedem Sourcemakding Designmuster liefert die gewünschte Alramglocke.

4
Ravindra babu