Задать вопрос
@Dubrovin

Правильно ли делать такую агрегацию?

Есть класс framework, который является точкой входа в приложение.
Класс settings получает и записывает настройки приложения из/в базу данных. Экземпляр создаётся внутри класса framework.
Класс componentFactory - фабрика, которая создаёт компоненты (базовый класс компонента - component).

Проблема в том, что компонент должен уметь получать значение настроек из базы (т.е. уметь работать с методами класса settings), а также уметь вызывать некоторые методы класса framework.

Правильно ли будет все необходимые методы из других классов "пробросить" в класс framework (паттерн фасад) и передать в конструктор экземпляр класса framework классу фабрики componentFactory?
  • Вопрос задан
  • 81 просмотр
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
@synapse_people
создайте интерфейс для всех методов, а потом реализацию отдельно, которая дергает framework
А передавайте компонентной фабрике передавайте этот объект под интерфейсом
Вообще неправильная архитектура( мне кажется для пхп дешевле было бы сделать класс настроек синглтоном и загружать их из базы при старте, затем после завершения работы компонента-записывать обратно
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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