Frage Entwurfsmuster [Duplizieren]


Mögliche Duplikate:
Woher weißt du, wann Designmuster zu verwenden sind? 

Wie kann ich eine Entscheidung über "Wann verwende ich welches Design Pattern" verstehen?

Welche Faktoren sind zu beachten, wenn Entscheidungen über die Verwendung eines geeigneten Entwurfsmusters an einem geeigneten Ort getroffen werden?


5
2018-06-14 01:41


Ursprung


Antworten:


Im Allgemeinen, wenn Sie es richtig machen, gibt es ein Muster dafür. Sie wissen jetzt vielleicht, dass Sie es benutzen.

Wenn Sie es falsch machen, gibt es ein Anti-Muster dafür. Aber du bestimmt Ich weiß nicht, dass du es benutzt.


3
2018-06-14 01:43



Viererbande (GoF) Muster sind eine gute Ressource.


2
2018-06-14 01:47



Sie sollten nicht immer darauf achten, dass Ihre Software einem Designmuster entspricht, aber wenn es mit einem übereinstimmt, verwenden Sie es. In vielen Fällen haben die meisten Dinge, die Sie tun, ein Design-Muster, das nur ein Muster ist, das von vielen verschiedenen Software-Implementierungen als üblich beobachtet wurde.

Zum Beispiel, wenn Sie eine Menge von Klassen haben, die alle synchronisiert werden müssen. Nun, das funktioniert gut mit dem Observer- oder Publish / Subscribe-Muster, bei dem eine Klasse der Notifier ist und die andere auf Benachrichtigungen wartet. Beobachtermuster 

Oder Sie möchten die Speicherbelegung in einer Game-Engine beschränken und dann einen ObjectPool erstellen. Objektpool

Oder vielleicht möchten Sie eine Menge von Objekten in eine simplr-API vereinfachen und dann das Fassadenmuster verwenden: Fassadenmuster

Oft sind nur funktionale Muster wie Verkapselung oder Vererbung in Ordnung. Es hängt vom Problem ab. In den meisten Fällen wird vieles von dem, was Sie zu programmieren versuchen, in einem Muster gelöst, aber Muster sind nicht die einzige Art zu programmieren. In vielen Fällen fängst du an zu entwerfen oder hast ein Bedürfnis und es wird zu einem Muster.

Denken Sie daran, dass Muster aus der Beobachtung vieler Arten von Softwareproblemen stammen, es ist nicht der Ausgangspunkt, sondern die Reflexion der Softwarearchitektur.

Entwurfsmuster (Informatik)

Viele Musterbeispiele bei dofactory.com: Entwurfsmuster Tutorial von Dofactory

Python-Entwurfsmuster: http://video.google.com/videoplay?docid=-3035093035748181693

Designmuster zu erzwingen ist wie Zwingen von OO. Es sollte natürlich aus den Bedürfnissen des vorliegenden Projekts kommen.


2
2018-06-14 02:21



Alle gut definierten Muster haben Hintergrund, Kontext und das Problem, das durch das Muster gelöst wird.

Der Sinn eines Musters ist es, Ihnen zu sagen, wann es angebracht ist.


0
2018-06-14 01:51



Schauen Sie sich das ausgezeichnete Buch an "Emergent Design: Das Evolutionäre der professionellen Softwareentwicklung". Es zeigt Ihnen, wie wir zu Entwurfsmustern kommen, und gibt Ihnen eine gute Anleitung zur Erstellung Ihres Codes.


0
2018-06-14 01:58



Ich finde, wenn ich gerade ein Programm hacke, ist eine gute Verwendung von Entwurfsmustern fast unmöglich, aber wenn Sie Ihr Programm entwerfen, dann können Sie sich ansehen, was Sie tun möchten, und Entwurfsmuster werden in Ihrer Anwendung sichtbar.

Wenn Sie beispielsweise sehen, dass es eine Klasse gibt, die den Fluss der Anwendung steuert, ist das Controller-Muster sinnvoll.

Die andere Möglichkeit, Entwurfsmuster zu verwenden, besteht darin, Ihr Programm zu schreiben, es zu erstellen und dann mithilfe von Entwurfsmustern zu refaktorieren. Ich glaube, Martin Fowler hat ein Buch zu diesem Thema geschrieben, aber ich bin nicht positiv auf den Autor.

So oder so hilft es zu wissen, was Sie tun wollen, um zu entscheiden, welche Muster am besten funktionieren.


0
2018-06-14 02:21