Description du mode proxy
Remarque : comme son nom l'indique, une classe est utilisée pour remplacer une autre classe pour exécuter des fonctions de méthode. Ce mode est quelque peu similaire au mode de décoration. La différence est que le mode proxy initialise la classe d'objet proxy au nom du client. , tandis que le mode décoration utilise une interface ou La référence initiale du paramètre décorateur est utilisée pour l'exécution.
Dans les langages dynamiques orientés objet, le mode proxy non seulement contrôle et modifie la classe proxy, mais cache et protège également entièrement la classe proxy ; la classe proxy n'est qu'indirectement initialisée et appelée lorsque nous en avons besoin ;
Description de la scène :
Un exemple très courant est le cas de la location d'une maison. Le locataire veut louer une maison et le propriétaire veut la louer. Cependant, ni le locataire ni le propriétaire n'ont le temps de chercher une maison ou d'attendre quelqu'un. pour voir la maison à la maison, alors ils vont ensemble dans une agence immobilière. Le propriétaire confie la chambre à un agent intermédiaire pour la location et la vente. Lorsqu'une personne appropriée est nécessaire, l'intermédiaire fera visiter la chambre et paiera la location. Cela aidera le propriétaire à louer la chambre confiée par le locataire. remplir les conditions de localisation de la chambre exigées par l'agent. Une fois que l'agence a aidé le locataire à trouver une chambre partagée, les deux paient pour la louer, louant ainsi une place pour le locataire
;Exemple de code source
Suivez l'exemple ci-dessus ;
1. Location par le propriétaire ;
2. Classe d'agent intermédiaire :
Proxy.prototype.chuzu = function() {
This.fangdong.chuzu();
console.log('Des frais d'agence seront facturés après la location');
>
3. Comment utiliser :
Regardez l'utilisation ci-dessus, la classe proxy n'est pas du tout nécessaire côté client, utilisez simplement la classe Proxy, qui peut très bien être utilisée dans les scénarios où certains processus de logique métier doivent être protégés en utilisant le mode proxy ; , cela peut être facilement Une bonne protection nécessite des classes proxy protégées
Autres consignes
Semblable au modèle décorateur, le modèle proxy incarne également bien le principe de la pensée orientée objet qui est ouverte à l'extension et fermée à la modification
;
Mode proxy, vous pouvez utiliser des interfaces ou des classes abstraites pour standardiser les interfaces communes : (le mode proxy JAVA est fourni ci-dessous)
1. Méthode abstraite de classe abstraite ;
classe publique Fangdong agrandit la maison {
Salle de chaîne privée = « Nom de la salle » ;
@Override
Public vide chuzu() {
System.out.println(room);
>
>
Le proxy de classe publique étend la maison {
Soldat Fangdong Fangdong ;
Proxy public() {
This.fangdong = new Hangdong();
>
@Override
Public vide chuzu() {
This.fandong.chuzu();
System.out.println("Payer les frais d'agence après la location");
>
>
//Utiliser
Maison maison = nouveau Proxy();
maison.chuzu();
2. Mode d'interface :
classe publique Fangdong implémente House {
salle de cordes privée = « 房间名称 »;
@Override
public void chuzu() {
System.out.println(room);
>
>
Le proxy de classe publique implémente House {
privé Fangdong fangdong;
Proxy public() {
this.fangdong = nouveau Hangdong();
>
@Override
public void chuzu() {
this.fandong.chuzu();
System.out.println(«出租后交中介费»);
>
>
//使用
Maison maison = nouveau Proxy();
maison.chuzu();