1. Mode Pabrik Sederhana
Deskripsi: Ini untuk membuat kelas pabrik, yang mengimplementasikan penciptaan kelas implementasi untuk antarmuka yang sama.
Tetapi tampaknya JavaScript tidak memiliki nomor antarmuka, jadi kami menghapus lapisan antarmuka; Tentu saja, variabel anggota dan metode kelas implementasi kami harus sama;
Misalnya: Saat ini, Anda dapat memberikan contoh mengirim pesan teks dan mengirim email;
1>. Kelas Pengiriman Surat [Implementasi]
Salinan kode adalah sebagai berikut:
function mailsender () {
this.to = '';
this.title = '';
this.content = '';
}
Mailsender.prototype.send = function () {
// Kirim Tubuh
}
2>. Kelas SMS Sending [Implementasi]
Salinan kode adalah sebagai berikut:
fungsi smssender () {
this.to = '';
this.title = '';
this.content = '';
}
Smssender.prototype.send = function () {
// Kirim Tubuh
}
3>. Buat kelas pabrik:
Salinan kode adalah sebagai berikut:
fungsi sendFactory () {
this.sender = null;
}
SendFactory.prototype.produce = function (type) {
var me = ini;
if (type == 'mail') {
me.sender = new MailSender ();
} lain jika (type == 'sms') {
me.sender = smssender baru ();
}
return me.sender;
}
4>. Gunakan kelas pabrik ini:
Salinan kode adalah sebagai berikut:
var factory = sendFactory baru ();
var pengirim = factory.produce ('mail'); // SMS
sender.to = 'toname#mail.com';
sender.title = 'Judul Uji Mail!';
sender.content = 'kirim konten';
sender.send ();
2. Mode Metode Pabrik Berganda
Catatan: Beberapa metode mode pabrik adalah peningkatan metode pabrik biasa, karena implementasi pengembalian didasarkan pada karakter yang dilewati. Ketika input karakter tidak benar, itu mungkin tidak diproses atau diproses menjadi kesalahan; Sementara beberapa metode mode pabrik dapat menghindari kesalahan seperti itu;
Kami telah melakukan perbaikan pada kelas pabrik di atas:
Salinan kode adalah sebagai berikut:
fungsi sendFactory () {
this.sender = null;
}
SendFactory.prototype.produceMail = function () {
var me = ini;
me.sender = new MailSender ();
return me.sender;
}
SendFactory.prototype.producesms = function () {
var me = ini;
me.sender = smssender baru ();
return me.sender;
}
Bagaimana menggunakan:
Salinan kode adalah sebagai berikut:
var factory = sendFactory baru ();
var pengirim = factory.producesms (); // ProduceMail
sender.to = 'toname#xxxxx';
sender.title = 'judul metode pengiriman sms';
sender.content = 'kirim konten';
sender.send ();
3. Mode Metode Pabrik Statis
Catatan: Ubah metode mode metode pabrik di atas menjadi identifikasi statis sehingga tidak perlu untuk membuat sendFactory;
Ubah kode pabrik sebagai berikut:
Salinan kode adalah sebagai berikut:
var sendFactory = {
ProduceMail: function () {
kembalikan MailSender baru ();
},
menghasilkan: function () {
mengembalikan smssender baru ();
}
}
Bagaimana menggunakan:
Salinan kode adalah sebagai berikut:
var pengirim = sendFactory.producemail ();
sender.to = 'toname#mail.com';
sender.title = 'Mail Send Judul';
sender.content = 'kirim konten';
sender.send ();
Deskripsi Model Metode Pabrik
Dalam deskripsi pemrograman pemikiran yang berorientasi objek, ketika ada banyak produk (model dunia nyata, nama: nama kelas, atribut anggota, dan metode operasi, dll.) Yang perlu diinisialisasi, yaitu, produk perlu dibuat, dan [ketika menerapkan antarmuka yang sama], mode metode pabrik dapat digunakan; Mode pertama memiliki kemungkinan kesalahan tipe input, dan mode kedua, bila perlu, instance pabrik dibuat;