Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   фабрика в javascript (https://javascript.ru/forum/misc/29273-fabrika-v-javascript.html)

tadjik1 22.06.2012 14:35

melky,
да, там всё разжеванно...

спасибо большое за ответы, надеюсь, что всё-таки пойму что там к чему и смгу это всё применить)

melky 22.06.2012 14:51

Цитата:

Сообщение от Maxmaxmахimus
Так, я прочитал, я понял что кроме убирания оператора new,

да положи на него болт уже, Крокфорд считает оператор new плохим тоном. в фабрике не в этом фишка.

Цитата:

Сообщение от Maxmaxmахimus
как я понял, фабрика имеет возможность делать определенные зказы?

то есть она всем обьектам добавляет один функционал (например делает их шкафами), но ресурсы для шкафов она берет по заказу, может делать шкафы из бетона а может из дерева?

да, можно и так сказать. и каждому шкафу может приделывать наклейку, вне зависимости от того, из какого материала он сделан. и каждый шкаф имеет одинаковые главные свойтсва - прототип - двери и ручки на них.

melky 22.06.2012 14:57

Цитата:

Сообщение от Maxmaxmахimus
я создал конструктор фабрик, я крутой?

нет, ты всего лишь апнул левел ;)

melky 22.06.2012 15:07

Цитата:

Сообщение от Maxmaxmахimus
а во вторых я просто проверил правильно ли я понял работу фабрик?

у тебя получился конструктор фабрик :)

melky 22.06.2012 15:11

Цитата:

Сообщение от Maxmaxmахimus
спасибо кэп) я отредактировал пост посмотри еще раз, и скажи верно ли я понял?

да, "минимум" фабрики ты написал.

ну как?
Цитата:

Сообщение от Maxmaxmахimus
ПОКА это лишь ненужный запутывающий паттерн. даже если привыкнуть он все ровно бессмысленен!
Потмоу что логичнее идти по прямой нежели в обход если припятствий нет.


melky 22.06.2012 15:20

Цитата:

Сообщение от Maxmaxmахimus
Ну пока это реально не нужный паттерн

я никогда не использовал каррирование. Это тоже ненужный паттерн? главное их знать, а когда-нибудь подвернётся шанс их использовать

Цитата:

Сообщение от Maxmaxmахimus
кстати, а какие они?

реальный плюс, это уменьшение объёма кода.
реальный плюс, это перенос кода, который будет встречаться в каждом конструкторе, в одно место.

если не понял - почитай Стефанова. там трудно не понять.

melky 22.06.2012 15:25

Цитата:

Сообщение от Maxmaxmахimus
значит раз не тянет их использовать при разработке значит они пока не нужны)

как и десяток других паттернов.
Цитата:

Сообщение от Maxmaxmахimus
а я думал кто-то ЗАМЕНЯЕТ ими НОРМАЛЬНУЮ разработку на конструкторах.

Не дай Боже - эти люди реально знают толк в извращениях.

tadjik1 22.06.2012 19:41

если кто-то еще переживает, вышел у меня вот такой код:

define(function () {
  var types = {
    example: '/js/modules/forms/views/example.js'
  };

  return {
    create: function (type, callback, data) {
      require([types[type]], function (View) {
        callback(new View(data));
      })
    }
  }
});


что скажете?
это всё еще в requirejs обёрнуто для полноты картины)

melky 22.06.2012 22:48

Цитата:

Сообщение от tadjik1 (Сообщение 183380)
если кто-то еще переживает, вышел у меня вот такой код:

define(function () {
  var types = {
    example: '/js/modules/forms/views/example.js'
  };

  return {
    create: function (type, callback, data) {
      require([types[type]], function (View) {
        callback(new View(data));
      })
    }
  }
});


что скажете?
это всё еще в requirejs обёрнуто для полноты картины)

это уже не фабрика, а, скорее, стратегия.

tadjik1 23.06.2012 14:06

ну значит мне нужна была стратегия)


Часовой пояс GMT +3, время: 09:43.