1. Простой фабричный режим
Описание: Он должен создать фабричный класс, который реализует создание класса реализации для того же интерфейса.
Но кажется, что у JavaScript нет номера интерфейса, поэтому мы удаляем интерфейсный слой; Конечно, переменные и методы нашего класса реализации должны быть одинаковыми;
Например: в настоящее время вы можете привести пример отправки текстовых сообщений и отправки электронных писем;
1>. Отправка почты [реализация] класс
Кода -копия выглядит следующим образом:
function mailsender () {
this.to = '';
this.title = '';
this.content = '';
}
Mailsender.prototype.send = function () {
// отправить тело
}
2>. SMS Отправка [реализация] класс
Кода -копия выглядит следующим образом:
функция smssender () {
this.to = '';
this.title = '';
this.content = '';
}
Smssender.prototype.send = function () {
// отправить тело
}
3>. Создайте фабричный класс:
Кода -копия выглядит следующим образом:
функция sendFactory () {
this.sender = null;
}
Sendfactory.prototype.produce = function (type) {
var me = это;
if (type == 'mail') {
me.sender = new Mailsender ();
} else if (type == 'sms') {
me.sender = new Smssender ();
}
вернуть меня. Сендер;
}
4>. Используйте этот фабричный класс:
Кода -копия выглядит следующим образом:
var factory = new SendFactory ();
var sender = factory.produce ('mail'); //SMS
sender.to = 'toname#mail.com';
sender.title = 'Название теста на почту!';
sender.content = 'Отправить контент';
sender.send ();
2. Многократный режим метода заводского метода
ПРИМЕЧАНИЕ. Многочисленные методы заводского режима - это улучшение обычных фабричных методов, поскольку реализация возврата основана на передаваемых символах. Когда вход символов неверен, он не может быть обработан или обработан в ошибку; в то время как несколько методов заводского режима могут избежать таких ошибок;
Мы сделали улучшения в вышеуказанном фабричном классе:
Кода -копия выглядит следующим образом:
функция sendFactory () {
this.sender = null;
}
Sendfactory.prototype.producemail = function () {
var me = это;
me.sender = new Mailsender ();
вернуть меня. Сендер;
}
Sendfactory.prototype.producesms = function () {
var me = это;
me.sender = new Smssender ();
вернуть меня. Сендер;
}
Как использовать:
Кода -копия выглядит следующим образом:
var factory = new SendFactory ();
var sender = factory.producesms (); // Производство
sender.to = 'toname#xxxxx';
sender.title = 'sms sending method title';
sender.content = 'Отправить контент';
sender.send ();
3. Режим статического фабричного метода
ПРИМЕЧАНИЕ. Измените приведенные выше методы режима «Несколько заводских методов» на статическую идентификацию, чтобы не было необходимости создавать экземпляр SendFactory;
Измените заводский код следующим образом:
Кода -копия выглядит следующим образом:
var SendFactory = {
ProductMail: function () {
вернуть новый MailSender ();
},
Производствосс: function () {
вернуть новый Smssender ();
}
}
Как использовать:
Кода -копия выглядит следующим образом:
var sender = sendfactory.producemail ();
sender.to = 'toname#mail.com';
sender.title = 'mail Отправить заголовок';
sender.content = 'Отправить контент';
sender.send ();
Заводской метод Описание модели
В Описании программирования объектно-ориентированного мышления, когда существует много продуктов (реальные модели, имена: имена классов, атрибуты участника, методы работы и т. Д.), Которые необходимо инициализировать, то есть продукт должен быть создан, и [при реализации одного и того же интерфейса] можно использовать режим заводского метода; Первый режим имеет возможность ошибки типа ввода, а второй режим, когда это необходимо, создается заводский экземпляр;