Heim >Web-Frontend >js-Tutorial >Einführung in das Proxy-Muster von JavaScript-Entwurfsmustern_Javascript-Kenntnisse

Einführung in das Proxy-Muster von JavaScript-Entwurfsmustern_Javascript-Kenntnisse

WBOY
WBOYOriginal
2016-05-16 16:24:081188Durchsuche

Beschreibung des Proxy-Modus

Hinweis: Wie der Name schon sagt, wird eine Klasse verwendet, um eine andere Klasse zum Ausführen von Methodenfunktionen zu ersetzen. Der Unterschied besteht darin, dass der Proxy-Modus die Proxy-Objektklasse im Namen des Clients initialisiert , während der Dekorationsmodus eine Schnittstelle verwendet oder Die anfängliche Dekoratorparameterreferenz wird zur Ausführung verwendet.

In dynamischen objektorientierten Sprachen steuert und ändert der Proxy-Modus nicht nur die Proxy-Klasse, sondern verbirgt und schützt die Proxy-Klasse auch vollständig. Die Proxy-Klasse wird nur indirekt initialisiert und aufgerufen, wenn wir sie benötigen

Szenenbeschreibung:

Ein sehr häufiges Beispiel ist die Miete eines Hauses. Der Mieter möchte ein Haus mieten und der Vermieter möchte es vermieten. Allerdings haben weder der Mieter noch der Vermieter Zeit, ein Haus zu suchen oder auf jemanden zu warten Um sich das Haus zu Hause anzusehen, gehen sie gemeinsam zu einer Wohnungsvermittlung. Der Vermieter vertraut das Zimmer einem Vermittler zur Vermietung und zum Verkauf an. Wenn eine geeignete Person benötigt wird, wird der Vermittler das Zimmer zeigen und die Kosten für die Vermietung übernehmen Erfüllen Sie die vom Makler geforderten Zimmerbedingungen. Nachdem die Agentur dem Mieter bei der Suche nach einem gemeinsamen Zimmer geholfen hat, zahlen die beiden für die Miete und vermieten so einen Platz für den Mieter

Beispiel-Quellcode

Folgen Sie dem obigen Beispiel;

1. Vermietermiete;


Funktion Fangdong() {
This.room = 'Raumname';
}
Fangdong.prototype.chuzu = function() {
console.log('Der Vermieter mietet das Zimmer: ' this.room);
}


2. Vermittlerklasse:

Funktion Proxy() {
This.fangdong = new Fangdong();
}

Proxy.prototype.chuzu = function() { This.fangdong.chuzu();

console.log('Nach der Vermietung wird eine Vermittlungsgebühr erhoben.');
}


3. Anwendung:


//Der Mieter bittet den Makler, bei der Suche nach einem Haus zu helfen;
var Proxy = new Proxy();
Proxy.chuzu();


Sehen Sie sich die obige Verwendung an. Auf der Clientseite ist die Proxy-Klasse überhaupt nicht erforderlich. Verwenden Sie einfach die Proxy-Klasse. Sie kann sehr gut in Szenarien verwendet werden, in denen bestimmte Geschäftslogikprozesse mithilfe des Proxy-Modus geschützt werden müssen , es kann leicht sein. Ein guter Schutz erfordert geschützte Proxy-Klassen

Weitere Anweisungen

Ähnlich wie das Dekoratormuster verkörpert auch das Proxy-Muster gut das Prinzip des objektorientierten Denkens, das offen für Erweiterungen und verschlossen für Modifikationen ist; Im Proxy-Modus können Sie Schnittstellen oder abstrakte Klassen verwenden, um gemeinsame Schnittstellen zu standardisieren: (Der JAVA-Proxy-Modus wird unten bereitgestellt)


1. Abstrakte Methode der Klasse;


Code kopieren

Der Code lautet wie folgt: öffentliche abstrakte Klasse House { Public void abstract chuzu();
}

öffentliche Klasse Fangdong erweitert Haus {
Privater String-Raum = „Raumname“;
@Override Öffentliche Leere chuzu() {

System.out.println(room);
}
}

Proxy der öffentlichen Klasse erweitert House {
Privat Fangdong fangdong;
Öffentlicher Proxy() {

This.fangdong = new Hangdong();

}
@Override
Öffentliche Leere chuzu() {
This.fandong.chuzu();
System.out.println("Zahlen Sie die Agenturgebühr nach der Anmietung");
}
}

//Verwenden Sie
Haus Haus = neuer Proxy();
house.chuzu();




2. Schnittstelle Schnittstellenmodus:

Code kopieren

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn