Vorwort: Entwurfsmuster sind in unserer Programmierung sehr wichtig! Entwurfsmuster stellen bewährte Vorgehensweisen dar, die häufig von erfahrenen Entwicklern objektorientierter Software übernommen werden. Entwurfsmuster sind Lösungen für häufige Probleme, mit denen Softwareentwickler während des Softwareentwicklungsprozesses konfrontiert werden. Diese Lösungen sind das Ergebnis von Versuch und Irrtum zahlreicher Softwareentwickler über einen beträchtlichen Zeitraum. Ich lerne gerade Designmuster. Möchtet ihr mitmachen? 1. Was ist ein Entwurfsmuster?Im Softwaredesign eine prägnante und elegante Lösung für ein bestimmtes Problem. Durch die Zusammenfassung bisheriger Erfahrungen und deren sinnvolle Anwendung auf ein bestimmtes Szenario können praktische Probleme gelöst werden. 2. Fünf Designprinzipien des Designmusters (SOLID)S-Single-Responsibility-Prinzip
O-Auf-Zu-Prinzip
L-Liskov-Substitutionsprinzip
I-Schnittstellen-Unabhängigkeitsprinzip
D-Abhängigkeit führt zum Prinzip
3. Warum brauchen wir Designmuster?Lesbarkeit
Skalierbarkeit
Wiederverwendbarkeit
Zuverlässigkeit
4. Singleton-MusterDefinition: Einzigartig und weltweit zugänglich. Stellen Sie sicher, dass eine Klasse nur eine Instanz hat, und stellen Sie einen globalen Zugriffspunkt dafür bereit.
Anwendungsszenario: Inhalt, der zwischengespeichert werden kann, z. B. ein Anmelde-Popup-Fenster.
Schauen wir uns diesen Pseudocode an: const creatLoginLayer = () => { const div = document.createElement("div"); div.innerHtml = "Floating-Fenster für die Anmeldung"; div.style.display = "keine"; Dokument.body.appendChild(div); div zurückgeben; }; document.getElementById("loginBtn").onclick = () => { const loginLayer = creatLoginLayer(); loginLayer.style.display = "Block"; }; Die Funktion von An dieser Logik ist nichts auszusetzen, aber denken Sie einmal darüber nach: Diese Codes werden jedes Mal ausgeführt, wenn auf die Anmeldeschaltfläche geklickt wird. Was ist, wenn es in einem Projekt viele Stellen gibt, die dies erfordern? Die Zeilen, die wir oben haben, sind nur ein paar kurze Zeilen. Was ist, wenn es Hunderte, Tausende oder sogar Zehntausende sind? Ist das nicht ein großer Leistungsverlust? Zu diesem Zeitpunkt ist unser Singleton-Modus praktisch. Nach Verwendung des Singleton-Musters: const getSingle = (fn) => { lass resultieren; return (...rest) => { Ergebnis zurückgeben || (Ergebnis = fn.apply(this.rest)); }; }; const creatLoginLayer = () => { const div = document.createElement("div"); div.innerHtml = "Floating-Fenster für die Anmeldung"; div.style.display = "keine"; Dokument.body.appendChild(div); div zurückgeben; }; const createSingleLoginLayer = getSingle(createLoginLayer); document.getElementById("loginBtn").onclick = () => { const loginLayer = createSingleLoginLayer(); loginLayer.style.display = "Block"; }; Wie Sie sehen, wurde eine Damit ist dieser Artikel über das Singleton-Muster-Entwurfsmuster in Das könnte Sie auch interessieren:
|
<<: Lösung für die langsame Reaktion des Tomcat-Servers
>>: Detaillierte Erläuterung des Binlog-Protokollanalysetools zur Überwachung von MySQL: Canal
Inhaltsverzeichnis Vorwort wissen Übung macht den...
Code kopieren Der Code lautet wie folgt: li {Brei...
In diesem Artikel werden hauptsächlich die Konfig...
Problem: Die MySQL-Datenbank ist unerwartet abges...
Problembeschreibung Ein Spring + Angular-Projekt ...
Mauseffekte erfordern die Verwendung von setTimeo...
Dieser Artikel fasst hauptsächlich verschiedene P...
Zu den wichtigsten Funktionen der InnoDB-Speicher...
Inhaltsverzeichnis 1. Traversal-Klasse 1. fürJede...
Inhaltsverzeichnis Überblick Definition Instanzme...
1. Wodurch wird die Geschwindigkeit der Datenbank...
filter werden im Allgemeinen verwendet, um bestim...
In der SQL-ähnlichen Anweisung beispielsweise SEL...
Inhaltsverzeichnis Webkomponenten benutzerdefinie...
Hintergrund Um die Docker-Containerisierung währe...