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:
fungsi MailSender() {
This.to = '';
This.title = '';
This.content = '';
}
MailSender.prototype.send = function() {
//hantar badan
}
2. Kategori penghantaran SMS:
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:
fungsi MailFactory() {
}
MailFactory.prototype.produce = function() {
Kembalikan MailSender();
}
2>. Kelas kilang SMS:
fungsi SmsFactory() {
}
SmsFactory.prototype.produce = function() {
Kembalikan SmsSender();
}
4. Cara menggunakan:
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