170 похожих чатов

Ребят, добрый день. Паттерн фабричный метод предполагает создание общей фабрики

с методом без параметров который вернет интерфейс общий интерфейс "продукта" и дальнейшее создание фабрики на каждую реализацию продукта, но что если одна из реализаций этого продукта требует через конструктор какой-то параметр? Как мне этот параметр туда впихнуть(передать), если создавая фабрику для данного продукта она наследует метод без параметров?

10 ответов

29 просмотров

А откуда параметр браться должен? По идее потребитель ж не знает, про конкретный тип, он и про параметр не знает

Vazovsk1y- Автор вопроса
Oleg Safonov
А откуда параметр браться должен? По идее потребит...

Параметр берется из рантайма, есть коллекция определенных объектов, на основе этих объектов нужно создать другие объекты предварительно проведя определенные манипуляции перед созданием. Т.е, кнопку нажали, побежал цикл где каждый объект из имеющийся коллекции должен передаваться, а возвращаться должен объект который на его основе сконструирован.(это как бы мне хотелось, но могу ошибаться в правильности выбора паттерна и возможно есть иные способы для решения данной проблемы).

Vazovsk1y- Автор вопроса

>создание общей фабрики с методом без параметров С чего ты взял что у фабрики методы не могут иметь параметр?

Vazovsk1y- Автор вопроса
Andrew Shurunov
>создание общей фабрики с методом без параметров С...

Все примеры которые я видел были непараметризованные методы ISomehting CreateSomething().

Vazovsk1y
Все примеры которые я видел были непараметризованн...

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

ViewModel точно за интерфейсом нужно прятать?

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Ребят в СИ можно реализовать ООП?
Николай
33
у вас два процесса. один посылает другому сигнал. у вас есть код обоих процессов? если всё не так - расскажите как оно на самом деле. а именно кто кому чего, есть-ли консоли,...
Karagy
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Карта сайта