Показать сообщение отдельно
  #2 (permalink)  
Старый 22.06.2012, 13:01
Профессор
Отправить личное сообщение для tadjik1 Посмотреть профиль Найти все сообщения от tadjik1
 
Регистрация: 07.06.2011
Сообщений: 315

то есть, фабрика — это объект, который содержит ссылки на конструкторы?

у меня есть 4 конструктора (Backbone.View), я не хочу знать о каждом из них. я просто создаю объект, который имеет метод create и знает обо всех 4 конструкторах. передавая в create тип вью, который мне надо получить, я его и получаю.

так?

var a1 = Backbone.View({});
var a2 = Backbone.View({});
var a3 = Backbone.View({});
var a4 = Backbone.View({});

function b() {
  var types = {
    first: a1,
    second: a2,
    third: a3,
    fourth: a4
  };

  return {
    create: function (type) {
      var c;
      c = new types[type]();
      return c;
    }
  }
}

var d = new b();

d.create('first'); //мне не нужно знать, какой именно конструктор это сделает, достаточно просто сказать, что я хочу получить
Ответить с цитированием