Detaillierte Erklärung der Entwurfsmuster des JavaScript-Frameworks

Detaillierte Erklärung der Entwurfsmuster des JavaScript-Frameworks

mvc

Bildbeschreibung hier einfügen

Model(模型) – Ein Modell stellt ein Objekt oder JAVA-POJO dar, das Daten speichert und abruft. Es kann auch eine Logik zum Aktualisieren des Controllers enthalten, wenn sich die Daten ändern.

View(視圖) – Eine Ansicht stellt die Visualisierung der in einem Modell enthaltenen Daten dar.

Controller(控制器) – Der Controller wirkt auf das Modell und die Ansicht. Es steuert den Datenfluss zu den Modellobjekten und aktualisiert die Ansicht, wenn sich die Daten ändern. Es trennt die Ansicht vom Modell.

Es ist eine Einbahnstraße

MVP

Bildbeschreibung hier einfügen

Der Kern von MVP liegt in der Presenter-Ebene. Der Kern dieser Ebene ist die Bedienung von DOM-Elementen. Am Beispiel der Implementierung einer Listenseite mit jQuery kombiniert der Presenter hauptsächlich die Daten im Modell über eine Schleife mit den HTML-Tags und fügt sie der Ansicht hinzu.

mvv

Bildbeschreibung hier einfügen

Der Kern von MVVM liegt in der Modellschicht, deren Kern die Datenoperation ist. Im Vergleich zum MVP-Modus hat sich unser Codierungsfokus von der DOM-Operation auf die Datenoperation verlagert. Die VM-Ebene zeigt der Ansichtsebene Daten an und übergibt die Daten der Ansichtsebene an die Modellebene. Vue ist ein typisches Beispiel für viewModel

Die Quelle von Vue

Vue nutzt die Virtual-Dom-Technologie von React und die ng-directive-Technologie von Angular.

Spa-MPA

MPA: mehrseitiger Antrag

Funktionen: Das erste Laden ist schneller und das nachfolgende Laden ist langsamer. Die anfänglichen Entwicklungskosten sind gering, die späteren Wartungskosten sind jedoch hoch.

SPA: Einzelseitenanwendung

Die erste Ladung ist langsamer und die nachfolgenden Ladungen sind schneller. Die anfänglichen Entwicklungskosten sind hoch, die späteren Wartungskosten jedoch niedrig. (Hauptsächlich mehr wiederverwendet)

Element erstellen

var li = document.createElement(ele,src,content);
//ele Das zu erstellende Element //src Die Attribute des Elements //content Der Inhalt des Elementsvar li = document.createElement('li',{className='list-li'},'123');
<li Klassenname="Liste-li">123<li>

Klasse

Klasse Person {
   Konstruktor(x,y) {
      dies.x = x;
   }
   hinzufügen() {
      konsole.log(dies.x);
   }
}
var person = neue Person(1,2);
typeof Person // function Die Essenz der Klasse ist ein Konstruktor Person === Person.prototype.constructor //true Die Klasse zeigt auf den Prototyp des Konstruktors person.hasOwnProperty(x); //true
person.hasOwnProperty(y); //false
person.hasOwnProperty(add); // falsch
Dies im Konstruktor zeigt auf das instanziierte Objekt, also ist x eine Eigenschaft von Person und y und add sind gleichbedeutend mit dem Hinzufügen zu Person.prototype person.__proto__.hasOwnProperty(add) //true

Die Funktion in der Klasse entspricht dem Hinzufügen zum Prototyp des Konstruktors.

Zusammenfassen

Dieser Artikel endet hier. Ich hoffe, er kann Ihnen helfen. Ich hoffe auch, dass Sie mehr Inhalten auf 123WORDPRESS.COM mehr Aufmerksamkeit schenken können!

Das könnte Sie auch interessieren:
  • JavaScript-Entwurfsmuster-Strategie, Musterimplementierungsprinzip, detaillierte Erklärung
  • JavaScript-Designmuster – Prinzipien des Besuchermusters und Analyse von Verwendungsbeispielen
  • JavaScript-Entwurfsmuster – Prinzipien und Anwendungsbeispielanalyse des Template-Methoden-Musters
  • JavaScript-Entwurfsmuster – Prinzipien und Anwendungsbeispiele des Observer-Musters
  • JavaScript-Entwurfsmuster – Prinzipien und Anwendungsbeispiele für Zustandsmuster
  • Tutorial zu den Grundlagen von JavaScript und JQuery Framework

<<:  Detaillierte Erläuterung des Prinzips und der Verwendung von MySQL-gespeicherten Prozeduren

>>:  Verwenden Sie Prometheus, um den verbleibenden verfügbaren Prozentsatz der MySQL-Autoinkrement-Primärschlüssel zu zählen

Artikel empfehlen

Detaillierte Erläuterung der häufig verwendeten Filter von Tomcat

Inhaltsverzeichnis 1. Domänenübergreifender Filte...

Vue2-Implementierungen bieten Injection für Reaktionsfähigkeit

1. Konventionelles Schreiben in vue2 // Die überg...

Beispiel zum Überprüfen der Kapazität einer MySQL-Datenbanktabelle

Dieser Artikel stellt die Befehlsanweisungen zum ...

Tutorial zur Installation und Verwendung von virtualenv in Deepin

virtualenv ist ein Tool zum Erstellen isolierter ...

Die Tücken der automatischen Inkrementierung numerischer MySQL-Typen

Beim Entwurf von Tabellenstrukturen gehören numer...

Unvollständige Lösung für die Verwendung von Eingabetyp=Textwert=str

Ich bin heute auf ein sehr seltsames Problem gesto...

Memcached-Methode zum Erstellen eines Cache-Servers

Vorwort Viele Webanwendungen speichern Daten in e...

JavaScript-Implementierung der Dropdown-Liste

In diesem Artikelbeispiel wird der spezifische Ja...

Vue Router vue-router ausführliche Erklärung Anleitung

Chinesische Dokumentation: https://router.vuejs.o...

Beispielcode zur Implementierung der WeChat-Kontoaufteilung mit Nodejs

Das Geschäftsszenario des Unternehmens erfordert ...