Rumah >hujung hadapan web >tutorial js >Penerangan terperinci tentang kemahiran javascript abstract factory pattern_javascript

Penerangan terperinci tentang kemahiran javascript abstract factory pattern_javascript

WBOY
WBOYasal
2016-05-16 16:26:331569semak imbas

Penerangan Corak Kilang Abstrak

1. Masalah dengan corak kaedah kilang: Dalam corak kaedah kilang, membuat kelas memerlukan lulus kelas kilang. Jika anda ingin melanjutkan program, anda mesti mengubah suai kelas kilang dan terbuka kepada sambungan tetapi tertutup kepada pengubahsuaian ;Terdapat masalah tertentu dengan reka bentuk.

2. Cara menyelesaikan: Kita perlu menggunakan corak kilang abstrak, iaitu mencipta kelas kilang secara berasingan untuk kelas berfungsi, supaya tidak perlu mengubah suai kod sebelumnya dan fungsi itu dikembangkan.

3. Corak kilang sebenarnya adalah kaedah kilang bersatu untuk mencipta dan memanggil kelas pelaksanaan yang melaksanakan antara muka yang sama Walau bagaimanapun, JavaScript tidak mempunyai perkara seperti antara muka, jadi lapisan pelaksanaan ini dialih keluar, tetapi ahli dan kaedah kelas berfungsi hendaklah sama;

Contoh kod sumber kilang abstrak


1. Kelas menghantar e-mel:

Salin kod Kod adalah seperti berikut:
fungsi MailSender() {
This.to = '';
This.title = '';
This.content = '';
}
MailSender.prototype.send = function() {
//hantar badan
}

2. Kategori penghantaran SMS:

Salin kod Kod adalah seperti berikut:
fungsi SmsSender() {
This.to = '';
This.title = '';
This.content = '';
}
SmsSender.prototype.send = function() {
//hantar badan
}

3. Kelas antara muka kilang pada asalnya dicipta di sini, tetapi dialih keluar secara langsung

buat pelbagai kilang kelas berfungsi;
1>. Kelas kilang mel:


Salin kod Kod adalah seperti berikut:
fungsi MailFactory() {
 
}
MailFactory.prototype.produce = function() {
Kembalikan MailSender();
}

2>. Kelas kilang SMS:

Salin kod Kod adalah seperti berikut:
fungsi SmsFactory() {
 
}
SmsFactory.prototype.produce = function() {
Kembalikan SmsSender();
}

4. Cara menggunakan:

Salin kod Kod adalah seperti berikut:
var factory = new MailFactory();
var sender = factory.produce();
sender.to = 'toname#mail.com';
sender.title = 'Corak Kilang Abstrak';
sender.content = 'Hantar kandungan';
sender.send();

Arahan lain

Corak kilang yang digunakan dalam bahasa berorientasikan objek seperti java dan .net C# semuanya menggunakan antara muka adalah kaedah yang didedahkan kepada pelbagai pengguna Mereka menerangkan kaedah yang digunakan untuk menggunakan fungsi ini dan cara pengguna harus menggunakannya antara muka. Objek dinyatakan dalam bentuk kelas, mewakili beberapa jenis abstraksi di dunia nyata Mungkin adegan itu akan mempunyai banyak aplikasi yang serupa, seperti penghantaran e-mel di atas, penghantaran mesej teks, dan pelbagai kaedah promosi di pusat membeli-belah, serta. dalam dunia haiwan. Pelbagai burung dan haiwan, dll..


Jika kami tidak menyediakan pengguna dengan antara muka, kami pasti akan menyediakan objek kelas berfungsi sebenar kepada pengguna Pengguna boleh mengubah suai dan memanjangkan objek kelas sesuka hati, yang tidak dibenarkan.


Corak kaedah kilang dan corak kilang abstrak boleh menyelesaikan masalah ini dengan baik Kelas melaksanakan pelanjutan peringkat kelas mereka sendiri dengan melaksanakan antara muka yang sepadan dan tidak akan melibatkan pengubahsuaian kelas atau kaedah lain

Kenyataan:
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