Pengenalan kepada corak penyesuai corak reka bentuk JavaScript_kemahiran javascript

WBOY
Lepaskan: 2016-05-16 16:24:00
asal
1238 orang telah melayarinya

Penerangan mod penyesuai

Penerangan: Mod penyesuai biasanya digunakan apabila antara muka yang akan digunakan tidak sesuai untuk aplikasi atau sistem ini, dan kelas lapisan penyesuaian pertengahan atau objek perlu diperkenalkan

Senario: Ia seperti kami membeli telefon bimbit Selepas kami membelinya, kami mendapati bahawa kord pengecas mempunyai palam tiga serampang, tetapi hanya terdapat soket dua serampang di rumah. Untuk kemudahan dan boleh mengecasnya di mana-mana, anda perlu membeli penyesuai pengecasan universal supaya telefon anda boleh dicas di rumah, jika tidak, anda hanya boleh meninggalkannya atau pergi ke tempat yang mempunyai palam untuk mengecasnya 🎜>

Dalam persekitaran pembangunan sebenar, kerana antara muka yang disediakan oleh sistem lama atau aplikasi pihak ketiga tidak sepadan dengan antara muka yang kami tentukan, antara muka lama atau pihak ketiga tersebut tidak boleh digunakan dalam persekitaran pengaturcaraan berorientasikan antara muka kami menggunakan kelas penyesuaian untuk mewarisi kelas yang akan disesuaikan, dan biarkan kelas penyesuaian melaksanakan antara muka untuk memperkenalkan antara muka sistem lama atau aplikasi pihak ketiga

Apabila menggunakan pengaturcaraan antara muka dengan cara ini, anda boleh menggunakan kelas penyesuaian ini untuk secara tidak langsung memanggil antara muka sistem lama atau aplikasi pihak ketiga.

Dalam Javascript, jika anda ingin melaksanakan kod yang serupa dengan corak penyesuai bahasa berorientasikan objek dinamik, anda boleh menggunakan contoh prototaip yang diwarisi untuk melaksanakannya kerana ia berdasarkan kekangan antara muka, tetapi Javascript tidak mempunyai perkara seperti antara muka, kami mengalih keluar lapisan antara muka Secara langsung melaksanakan kelas pelaksanaan antara muka Sasaran dan mensimulasikan kod sumber yang serupa

Contoh kod sumber

1. Kelas dan kaedah antara muka untuk disesuaikan:


fungsi Adaptee() {
This.name = 'Adaptee';
}
Adaptee.prototype.getName = function() {
Kembalikan nama ini;
}


2. Kelas pelaksanaan biasa [Memandangkan tiada antara muka dalam Javascript, kelas pelaksanaan disediakan secara langsung]

fungsi Sasaran() {
This.name = 'Sasaran';
}

Target.prototype.queryName= function() { Kembalikan nama ini;

}


3. Kelas penyesuaian:


function Adapte() {
This.name = '';
}

Adapte.prototype = Adaptee baharu();

Adapte.prototype.queryName = function() {

This.getName();

}


4. Cara menggunakan:


var local = new Target();
local.queryName(); //Panggil kelas pelaksanaan biasa

var adapte = new Adapte(); adapt.queryName(); //Panggil sistem lama atau antara muka aplikasi pihak ketiga;



Arahan lain

Dalam langkah keempat di atas, var local dan var adapt adalah serupa dengan spesifikasi rujukan antara muka dalam bahasa berorientasikan objek ​​​​seperti Java dan C#, seperti:


antara muka Sasaran {
Public String queryName();
}
//Titik rujukan antara muka ke
Target local = new RealTarget(); //Itulah kelas pelaksanaan Sasaran Javascript di atas
local.queryName();

//Penyesuai Adaptasi sasaran = Adaptasi baharu();

adapt.queryName();


Ia boleh dilihat bahawa kelas penyesuai adalah lapisan tengah yang menghubungkan antara muka dan antara muka kelas sasaran ia digunakan untuk menyelesaikan masalah yang sasaran yang diperlukan sudah wujud, tetapi kami tidak boleh menggunakannya secara langsung atau bersama-sama dengan kami definisi kod, jadi kita perlu menggunakan mod penyesuai , mod penyesuai juga dipanggil mod penukaran dan mod pembungkusan

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!