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
So erhalten Sie den Container-Startbefehl Der Con...
Hier verwenden wir hauptsächlich Spring-Boot, das...
Sortierproblem Ich habe kürzlich auf Geek Time „4...
Wenn Sie nun das Video-Tag auf einer Seite verwen...
Inhaltsverzeichnis Was ist ein Auslöser Erstellen...
Mit der SQL JOIN-Klausel können Zeilen aus zwei o...
1. CSS realisiert eine feste Breite links und ein...
Es gibt einige Tags in XHTML, die ähnliche Funkti...
Inhaltsverzeichnis Ursache Grund Einführung in NP...
Inhaltsverzeichnis Prämisse TypeScript vs. JavaSc...
Ich habe gehört, dass es eine Interviewfrage gibt...
Die häufig verwendeten Oracle10g-Partitionen sind...
1. Typeinführung 1.1 Domänenbasiertes virtuelles ...
1. MHA Durch die Überwachung des Masterknotens ka...
Ein Wort vorab: Plötzlich erhielt ich die Aufgabe...