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. Jenis penghantaran e-mel:
MailSender.prototype.send = function() {
//hantar badan
}
2. Kategori penghantaran SMS:
SmsSender.prototype.send = function() {
//hantar badan
}
3. Kelas antara muka kilang pada asalnya dicipta di sini, tetapi ia dialih keluar di sini; setiap kilang kelas berfungsi dicipta secara langsung;
1>. Kelas kilang mel:
2>. Kelas kilang SMS:
4. Cara penggunaan:
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
Sudah tentu, tiada cara untuk melakukan ini dalam bahasa seperti javascript Pengaturcara perlu berdisiplin diri!