Dieser Artikel stellt eine Zusammenfassung des Erlernens von PHP-Entwurfsmustern vor und teilt sie mit Ihnen. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird für alle hilfreich sein.
、 Konzentrieren Sie sich auf PHP, MySQL, Linux und Front-End-Entwicklung. Vielen Dank für Ihre Aufmerksamkeit! ! ! Die Artikel sind auf GitHub organisiert und umfassen hauptsächlich Technologien wie PHP, Redis, MySQL, JavaScript, HTML&CSS, Linux, Java, Golang, Linux- und Tool-Ressourcen sowie anderes damit verbundenes theoretisches Wissen, Interviewfragen und praktische Inhalte.
Artikelzusammenfassung
Dieser Artikel stellt Ihnen eine äußerst praktische Website zum Lernen von Designmustern vor. Bevor wir Designmuster lernen, müssen wir zunächst wissen, warum wir Designmuster lernen. Wie erhält man ein korrektes und effizientes Lerndesignmodell? Die folgende Abbildung listet eine allgemeine Lernidee für Einzelpersonen auf, die Designmuster lernen:
Was sind Designmuster? sind typische Lösungen für häufige Probleme im Softwaredesign. Sie sind wie vorgefertigte Blaupausen, die an Ihre Bedürfnisse angepasst werden können und zur Lösung wiederkehrender Designprobleme in Ihrem Code verwendet werden können.
Menschen verwechseln oft Muster und Algorithmen, weil beide konzeptionell als typische Lösungen für bestimmte Probleme bekannt sind. Während ein Algorithmus jedoch immer eine Reihe von Schritten klar definiert, die zum Erreichen eines bestimmten Ziels erforderlich sind, ist ein Muster eine Beschreibung einer Lösung auf höherer Ebene. Der Implementierungscode desselben Musters in zwei verschiedenen Programmen kann unterschiedlich sein.
Algorithmen ähneln eher Rezepten: Sie geben klare Schritte vor, um ein Ziel zu erreichen. Muster ähneln eher Blaupausen: Sie können das Endergebnis und die Funktionalität des Musters sehen, müssen die Implementierungsschritte jedoch selbst festlegen.
Geschichte der Designmusterentwicklung
Wer hat das Designmuster erfunden? Das ist eine gute Frage, aber auch etwas ungenau. Designmuster sind keine geheimnisvollen und komplexen Konzepte – ganz im Gegenteil. Muster sind typische Lösungen für häufige Probleme im objektorientierten Design. Die gleichen Lösungen wurden in verschiedenen Projekten immer wieder verwendet, sodass ihnen irgendwann jemand einen Namen gab und sie ausführlich beschrieb. Dies ist im Grunde der Prozess der Mustererkennung.
Vier Autoren, Erich Gamma, John Freesides, Ralph Johnson und Richard Helm, haben sich das Konzept der Muster zu eigen gemacht. 1994 veröffentlichten sie das Buch „Design Patterns: The Foundation for Reusable Object-Oriented Software“, das das Konzept der Design Patterns auf den Bereich der Programmentwicklung anwendete. Das Buch lieferte 23 Muster zur Lösung verschiedener Probleme der objektorientierten Programmierung und wurde schnell zum Bestseller. Da der Titel so lang war, wurde er auf „The Gang of Four (GoF) Book“ und bald darauf auf „The GoF Book“ gekürzt.
Seitdem haben Menschen Dutzende objektorientierter Muster entdeckt. Der „Pattern-Ansatz“ wurde auch in anderen Bereichen der Programmentwicklung populär. Heutzutage wurden viele andere Muster außerhalb des Bereichs des objektorientierten Designs vorgeschlagen.
Entwurfsmusterklassifizierung
Verschiedene Entwurfsmuster unterscheiden sich in Komplexität, Detaillierungsgrad und Anwendungsbereich im gesamten System. Ich vergleiche es gerne mit dem Straßenbau: Wenn man Kreuzungen sicherer machen will, installiert man Ampeln oder baut mehrstöckige Anschlussstellen mit Fußgängerunterführungen.
Das allgemeinste Muster auf hoher Ebene ist das Architekturmuster. Entwickler können diese Art von Muster in jeder Programmiersprache verwenden. Im Gegensatz zu anderen Mustern können sie zur Architektur der gesamten Anwendung verwendet werden.
Darüber hinaus können alle Modi nach ihrer Absicht oder ihrem Zweck klassifiziert werden. Dieses Buch deckt drei Hauptmusterkategorien ab:
Creational Pattern bietet einen Mechanismus zum Erstellen von Objekten und erhöht so die Flexibilität und Wiederverwendbarkeit von vorhandenem Code.
Strukturmuster führt ein, wie man Objekte und Klassen zu größeren Strukturen zusammenfügt und dabei die Struktur flexibel und effizient hält.
Das Verhaltensmodell ist für die effiziente Kommunikation und Delegation von Verantwortlichkeiten zwischen Objekten verantwortlich.
Durch das Bild unten ist es grob wie folgt aufgelistet:
Musterpraxis
Einige Grundkenntnisse über Entwurfsmuster werden oben geteilt. Wir haben auch ein gewisses Verständnis für die Entwicklungsgeschichte und Klassifizierung von Entwurfsmustern und üben es dann anhand von Code. Beim Erlernen von Entwurfsmustern stößt jeder häufig auf ein Problem.
Das gleiche Entwurfsmuster kann in Programmiersprache A implementiert werden, aber ich weiß nicht, wie ich es in Programmiersprache B implementieren soll.
Anfänger: Da die in den Büchern oder Artikeln, die sie lesen, verwendete Programmiersprache nicht mit der Programmiersprache übereinstimmt, die sie derzeit beherrschen, wird das Lernen schwieriger.
Bei den oben genannten Problemen hilft Ihnen diese Website, sie einzeln zu lösen. Die Website verfügt über Beispielcodes für verschiedene Programmiersprachen, die die meisten Lernenden zufriedenstellen können.
Wie man lernt
Im Beispielcode wird nicht nur die Definition von Entwurfsmustern vorgestellt, sondern auch Logikdiagramme, UML-Diagramme, tatsächliche Codes und praktische Umgebungen. Gleichzeitig besteht das größte Highlight darin, die Entwurfsmuster anhand realer Umgebungsfälle zusammenzufassen, was zum Verständnis der Entwurfsmuster beiträgt. Das folgende Bild zeigt die allgemeine Idee des Erlernens des Beispielcodes für Designmuster:
Website-Adresse
Oben sind grob einige Grundkenntnisse über Designmuster sowie Möglichkeiten und Mittel zum Erlernen von Website-Designmustern aufgeführt. Die spezifische URL der Website lautet: refactoringguru.cn/design-patterns
Empfohlen: „PHP Video Tutorial“
Das obige ist der detaillierte Inhalt vonTeilen Sie die Zusammenfassung des PHP-Designmuster-Lernens. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!