Suchen Sie nicht nach Trend
Jede Standardprogrammierlösung für ein bestimmtes Problem kann als Entwurfsmuster betrachtet werden, unabhängig davon, wie beliebt sie sind oder ob andere Programmierer sie verwenden oder nicht.
Möglicherweise verwenden Sie bereits ein Entwurfsmuster, das noch nicht erfunden / spezifiziert wurde.
Versuchen Sie nicht, sie zu benutzen, versuchen Sie, in ihren Begriffen zu denken
Das Problem mit Entwurfsmustern ist, dass Programmierer manchmal ihre Probleme in sie einpassen möchten, wenn es umgekehrt ist.
Denken Sie daran, dass die Entwurfskonvention von Entwurfsmustern ein typisches Problem zu lösen hat. Sie können sogar Entwurfsmuster kombinieren, um andere größere Probleme anzugehen. Dies ist typisch für serviceorientierte Architekturen. Sehen Sie sich nur einige der vorhandenen SOA-Muster an .
Such sie in freier Wildbahn
Es gibt viele Open-Source-Projekte, in denen Sie angewandte Designmuster finden. Ein Beispiel, das mir in den Sinn kommt, ist Joomla: Sie finden Singletons , Beobachter . In GUI-Bibliotheken sind das Dekorationsmuster , das Befehlsmuster und möglicherweise sogar das Fliegengewicht implementiert .
Es gibt andere Muster wie Datenmuster, die beispielsweise nur vom Doctrine Project verwendet wurden, das aktive Datensatzmuster (1.x), das Entity Manager-Muster (2.x), die Arbeitseinheit , das Repository , das Abfrageobjekt , die Metadatenzuordnung und Daten Mapping und andere allgemeinere wie das Strategiemuster und das Dekorationsmuster .
Es stehen so viele interessante Lösungen zur Auswahl. Siehe Martin Fowlers Patterns of Enterprise Architecture , es gibt auch Datenmodellmuster .
Lerne sie einfach, wenn es soweit ist
Lernen Sie sie, kennen Sie sie, sind Sie von ihnen besessen, und wenn es soweit ist, wissen Sie, wie Sie das Programmierproblem x lösen können, werden Sie zu diesem Zeitpunkt bereits ein besserer Programmierer sein.
Architekt werden
Ich würde sagen, dass die Fähigkeit, in Mustern zu denken, um Probleme zu lösen, Sie effektiv in einen Software-Architekten verwandelt . Auch wenn Sie nicht per se ein Softwarearchitekt sein möchten, haben Ihre Lösungen standardmäßig eine höhere technische Qualität, sind sauberer und lassen sich in Bezug auf das Design besser skalieren.