Artikel ini terutamanya memperkenalkan pengenalan corak kaedah kilang dalam corak reka bentuk JavaScript Artikel ini menerangkan corak kilang yang ringkas, berbilang corak kaedah kilang, dll. Rakan yang memerlukan boleh merujuknya
1. Corak kilang ringkas
Penjelasan: Ia adalah untuk mencipta kelas kilang, yang melaksanakan penciptaan kelas pelaksanaan untuk antara muka yang sama.
Tetapi nampaknya JavaScript tidak mempunyai perkara seperti antara muka, jadi kami mengalih keluar lapisan antara muka sudah tentu, pembolehubah ahli dan kaedah di bawah kelas pelaksanaan kami harus sama; >Sebagai contoh: Berikut adalah contoh penghantaran mesej teks dan penghantaran e-mel; 🎜>
3. Buat kelas kilang:4 Gunakan kelas kilang ini:
function MailSender() { this.to = ''; this.title = ''; this.content = ''; } MailSender.prototype.send = function() { //send body }
function SmsSender() { this.to = ''; this.title = ''; this.content = ''; } SmsSender.prototype.send = function() { //send body }
function SendFactory() { this.sender = null; } SendFactory.prototype.produce = function(type) { var me = this; if (type == 'mail') { me.sender = new MailSender(); } else if (type == 'sms') { me.sender = new SmsSender(); } return me.sender; }
var factory = new SendFactory(); var sender = factory.produce('mail'); //sms sender.to = 'toName#mail.com'; sender.title = '邮件测试标题!'; sender.content = '发送内容'; sender.send();
Penggunaan:
Penerangan corak kaedah kilangfunction SendFactory() { this.sender = null; } SendFactory.prototype.produceMail = function() { var me = this; me.sender = new MailSender(); return me.sender; } SendFactory.prototype.produceSms = function() { var me = this; me.sender = new SmsSender(); return me.sender; }
var factory = new SendFactory(); var sender = factory.produceSms(); //produceMail sender.to = 'toName#xxxxx'; sender.title = '短信发送方法标题'; sender.content = '发送内容'; sender.send();
!