Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
Alvin Seville
 Аватар для Соколиный глаз
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 22

Какой паттерн использовать в данном случае?

01.02.2019, 09:04. Показов 1171. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть у меня паттерн абстрактная фабрика. Но в этой абстрактной фабрике мне потребовалось сделать бизнес логику. Какой паттерн использовать в данном случае? Ведь «Абстрактная фабрика» уже не подойдет.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.02.2019, 09:04
Ответы с готовыми решениями:

Посоветуйте, какой порождающий паттерн можно здесь использовать
Есть приложение по обеспечению деятельности театра (клиент покупает билет, режиссер-постановщик создает спектакль, костюмер...

Подскажите какой паттерн использовать для запоминания расположения категории товара
Товар может находиться в подкатегории например, техника/цифровая техника/фотоаппараты - вложенность может быть и больше. Каким паттерном...

Какой браузер лучше использовать в данном случае?
Ноутбук с ОЗУ на 4 гб (доступно 3.25) и процессором 2x2.5 ггц Хром х64 подлагивал, с х86 полегче, но все равно не айс У мозиллы...

8
Эксперт .NETАвтор FAQ
 Аватар для Storm23
10427 / 5157 / 1825
Регистрация: 11.01.2015
Сообщений: 6,226
Записей в блоге: 34
01.02.2019, 10:38
Цитата Сообщение от Соколиный глаз Посмотреть сообщение
Есть у меня паттерн абстрактная фабрика. Но в этой абстрактной фабрике мне потребовалось сделать бизнес логику. Какой паттерн использовать в данном случае? Ведь «Абстрактная фабрика» уже не подойдет.
Строитель.
1
Alvin Seville
 Аватар для Соколиный глаз
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 22
01.02.2019, 11:05  [ТС]
Storm23, как Вы это определили? Я хочу понять почему именно строитель. Он же позволяет строить объект постепенно, а не сразу. У меня такой задачи не стояло (постепенно строить).
0
управление сложностью
 Аватар для Почтальон
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
01.02.2019, 12:31
Цитата Сообщение от Соколиный глаз Посмотреть сообщение
Он же позволяет строить объект постепенно, а не сразу. У меня такой задачи не стояло (постепенно строить)
)))))))) это пока нет такой задачи, возможно будет расширение
1
Эксперт .NETАвтор FAQ
 Аватар для Storm23
10427 / 5157 / 1825
Регистрация: 11.01.2015
Сообщений: 6,226
Записей в блоге: 34
01.02.2019, 13:42
Цитата Сообщение от Соколиный глаз Посмотреть сообщение
как Вы это определили? Я хочу понять почему именно строитель. Он же позволяет строить объект постепенно, а не сразу. У меня такой задачи не стояло (постепенно строить).
Вы не сформулировали задачу целиком. А подбирать паттерны не зная контекста - невозможно.
Поэтому пришлось предполагать какую именно бизнес логику вы собрались вставлять в фабрику. А бизнес логика там может быть только одна - сложная логика создания объектов (потому что основная задача фабрики - генерация объектов).
А раз так, что паттерн строитель - как раз и реализует сложную логику создания объектов.

А вообще на будущее - в архитектурных вопросах все решает контекст. Если вы спрашиваете про паттерны - нужно описывать всю задачу целиком и как можно шире. В противном случае вы будете получать неправильные ответы.
3
Alvin Seville
 Аватар для Соколиный глаз
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 22
01.02.2019, 15:50  [ТС]
Пусть у меня есть мебель: столы и стулья. Столы и стулья есть как современные, так и старинные. В общем, требуется сделать фабрику современной и старинной мебели. Все бы хорошо, подошел бы паттерн Абстрактная фабрика, но вот незадача: надо где-то хранить информацию о самой фабрике.
0
01.02.2019, 16:32

Не по теме:

Цитата Сообщение от Соколиный глаз Посмотреть сообщение
надо где-то хранить информацию о самой фабрике
а потом хранить информацию о информации о фабрике и т.д. :D

0
Эксперт .NETАвтор FAQ
 Аватар для Storm23
10427 / 5157 / 1825
Регистрация: 11.01.2015
Сообщений: 6,226
Записей в блоге: 34
01.02.2019, 18:30
Цитата Сообщение от Соколиный глаз Посмотреть сообщение
В общем, требуется сделать фабрику современной и старинной мебели. Все бы хорошо, подошел бы паттерн Абстрактная фабрика, но вот незадача: надо где-то хранить информацию о самой фабрике.
Снова вопрос не понятен.
Что значит хранить информацию о фабрике?

Если у вас приложение работает только с одним типом фабрик - то храните информацию о необходимой фабрике в конфигурационном файле.
Если пользователь выбирает тип фабрики в интерфейсе - то информация о фабрике будет хранится в БД или файлах настроек.

Если же вы спрашиваете о том, как физически сделать генерацию разных фабрик - то можно сделать фабрику фабрик.
Но, как тут уже заметили выше, так можно до бесконечности генерировать фабрики фабрик фабрик. Поэтому на каком-то этапе нужно остановится и сделать генерацию фабрики просто кодом:
C#
1
2
3
4
if (some_condition)
   factory = new FactoryA();
else
   factory = new FactoryB();
0
Alvin Seville
 Аватар для Соколиный глаз
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 22
01.02.2019, 19:26  [ТС]
Storm23, ну, вот имя фабрики, год её открытия, вот эту информацию о фабрике я имел ввиду. Хранить - я предполагал, что она будет лежать в каком-то классе.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.02.2019, 19:26
Помогаю со студенческими работами здесь

Какой метод лучше всего использовать в данном случае, GET или POST?
Какой метод в моем случае лучше всего использовать GETили POST? В моем случае это обратная связь с 2-мя input-ами и 1-ой textarea....

Какую формулу использовать в данном случае?
приветствую! пустой массив размером 1000 заполняю псевдослучайными числами от 1 до 1000 таким образом, что если новое псевдослучайное...

Что лучше использовать в данном случае?
Привет, вопрос со скрином ниже. Я новичок поэтому могу тупить :( Нужно отодвинуть кнопку от меню. Насколько понимаю через display:flex не...

Можно ли в данном случае использовать шаблон проектирования Bridge
Здравствуйте! Допустим, есть модели абсолютно разной природы (например, пользователь и каптча), которые просто хранят данные. Они...

Какой паттерн использовать?
Какой паттерн использовать (и использовать ли) в такой ситуации: Существует множество разноклассовых объектов на тачскрин-экране, могущих...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru