Rumah >hujung hadapan web >tutorial js >Pengenalan kepada corak proksi corak reka bentuk JavaScript_kemahiran javascript
Perihalan mod proksi
Nota: Seperti namanya, satu kelas digunakan untuk menggantikan kelas lain untuk melaksanakan fungsi kaedah Mod ini agak serupa dengan mod hiasan Perbezaannya ialah mod proksi memulakan kelas objek proksi bagi pihak klien , manakala mod hiasan menggunakan antara muka atau Rujukan parameter penghias awal digunakan untuk melaksanakan.
Dalam bahasa berorientasikan objek dinamik, mod proksi bukan sahaja mengawal dan mengubah suai kelas proksi, tetapi juga menyembunyikan dan melindungi kelas proksi sepenuhnya secara tidak langsung dan dipanggil apabila kita memerlukannya ;
Penerangan adegan:
Contoh yang sangat biasa ialah kes penyewa ingin menyewa rumah dan tuan rumah ingin menyewakannya untuk melihat rumah di rumah, jadi mereka pergi ke agensi perumahan bersama-sama. Tuan tanah mempercayakan bilik kepada ejen perantara untuk menyewa dan menjual Apabila orang yang sesuai diperlukan, pengantara akan menunjukkan bilik dan membayar sewa Ini akan membantu tuan rumah menyewakan bilik yang diamanahkan oleh penyewa syarat lokasi bilik yang diperlukan oleh pengantara Selepas agensi membantu penyewa mencari bilik kongsi, kedua-duanya membayar untuk menyewanya, dengan itu menyewa tempat untuk penyewa
Contoh kod sumber
Ikuti contoh di atas;
1. Sewaan Tuan Tanah;
2. Kelas agen perantara:
Proxy.prototype.chuzu = function() {
This.fangdong.chuzu();
console.log('Yuran agensi akan dikenakan selepas menyewakan');
}
3. Cara penggunaan:
Lihat penggunaan di atas, kelas proksi tidak diperlukan sama sekali di sisi klien, hanya gunakan kelas Proksi, yang boleh digunakan dengan baik dalam senario di mana proses logik perniagaan tertentu perlu dilindungi menggunakan mod proksi , ia boleh dengan mudah Perlindungan yang baik memerlukan kelas proksi yang dilindungi;
Arahan lain
Sama seperti corak penghias, corak proksi juga merangkumi prinsip pemikiran berorientasikan objek yang terbuka kepada lanjutan dan tertutup kepada pengubahsuaian
Mod proksi, anda boleh menggunakan antara muka atau kelas abstrak untuk menyeragamkan antara muka biasa: (mod proksi JAVA disediakan di bawah)
1. Kaedah abstrak kelas abstrak;
Bilik Rentetan Peribadi = “Nama bilik”;
@Override
Public void chuzu() {
System.out.println(bilik);
}
}
Persendirian Fangdong fangdong;
Proksi Awam() {
This.fangdong = Hangdong baharu();
}
@Override
Public void chuzu() {
This.fandong.chuzu();
System.out.println("Bayar yuran agensi selepas menyewa");
}
}
Rumah rumah = Proksi baharu();
house.chuzu();
2. Mod antara muka:
kelas awam Fangdong melaksanakan House {
bilik String peribadi = “房间名称”;
@Override
public void chuzu() {
System.out.println(bilik);
}
}
Proksi kelas awam melaksanakan House {
peribadi Fangdong fangdong;
Proksi awam() {
this.fangdong = Hangdong baharu();
}
@Override
public void chuzu() {
this.fandong.chuzu();
System.out.println(“出租后交中介费”);
}
}
//使用
Rumah rumah = Proksi baharu();
house.chuzu();