Как часть подсистемы огородить фасадом? Или чем — то еще? Всем привет.
Подскажите про паттерны и архитектуру.
Дано: есть несколько классов каждый содержит экземпляр(ы) предшествуюжего.
Курс содержит уроки, урок содержит тест, тест содержит вопросы, вопрос содержит ответы.
Решил что надо сделать из этого подсистему/модуль.
вроде как, это фасадом делают как я понял.
Сделал фасад, туда макс логики перенес из контроллеров.
получилась овермного методов
по моему, сильно лучше не стало. удалил этот фасад.
вот думаю как это по уму сделать?

21 Авг 2019 в 07:00
193 +1
0
Ответы
1

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

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

Затем вы можете создать класс, который будет представлять вашу подсистему/модуль и будет содержать коллекцию уроков. Этот класс будет иметь методы для добавления, удаления и получения уроков, тестов, вопросов и ответов.

Таким образом, каждый класс будет отвечать за свою часть логики и управлять своими дочерними элементами. Вам не придется создавать огромные фасады с большим количеством методов.

Это лишь одно из возможных решений. Решение зависит от конкретных требований вашего проекта. Не стесняйтесь экспериментировать и искать наилучшее решение для вашей системы.

20 Апр в 13:09
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 548 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир