Ich mag Designmuster sehr, aber ich finde es schwierig zu sehen, wann ich eines anwenden kann. Ich habe viele Websites gelesen, auf denen Designmuster erklärt werden. Ich verstehe die meisten von ihnen, aber ich finde es schwierig, ein Muster in meinen eigenen Situationen zu erkennen.
Deshalb stelle ich diese Frage. Gibt es Richtlinien / Alarmglocken, wann welches Entwurfsmuster verwendet werden soll?
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 also eine 'Alarmglocke', um das Factory-Muster zu verwenden.
Kennen Sie also mehr Alarmglocken, um ein Entwurfsmuster zu bestimmen?
c#
design-patterns
Martijn
quelle
quelle
Antworten:
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 bei der Lösung struktureller Probleme helfen. Entwerfen Sie Ihre Anwendung nicht nur, um Entwurfsmuster verwenden zu können.
quelle
Lernen Sie sie und langsam können Sie nachvollziehen und herausfinden, 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 davon, das wäre dumm. Singleton stellt sicher, dass es nie mehr als einen geben wird. Das Singleton-Muster ist einfach, wird häufig verwendet und ist sehr effektiv.
quelle
Ich stimme @Peter Rasmussen voll und ganz zu.
Entwurfsmuster bieten eine allgemeine Lösung für häufig auftretende Entwurfsprobleme.
Ich möchte, dass Sie dem folgenden Ansatz folgen.
Nützliche Links:
Quellenherstellung : Erklärt Absicht , Struktur und Checkliste auf wunderbare Weise in mehreren Sprachen, einschließlich C ++ und Java
wikipedia : Erklärt Struktur, UML-Diagramm und Arbeitsbeispiele in mehreren Sprachen, einschließlich C # und Java.
Die Checkliste und die Faustregeln in jedem Designmuster für die Quellenherstellung enthalten die von Ihnen gesuchte Alramglocke.
quelle