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

Цепочка обязанностей и Декораторы, в чем передавать данные?

Добрый день, использую в экшене одновременно 2 паттерна, декораторы, для модификации объекта, а цепочку обязанностей для модификации алгоритма, без изменений старого кода.
при анализе код увидел, что постоянно лазию в бд за одной записью (за одной и той же), чего, конечно же хотелось бы избежать. посоветуйте пожалуйста, как передавать данные между объектами? использую АR.
  • Вопрос задан
  • 171 просмотр
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • OTUS
    Архитектура и шаблоны проектирования
    4 месяца
    Далее
  • Учебный центр IBS
    ARC-001 Ключевые практики архитектора ПО
    1 неделя
    Далее
  • OTUS
    iOS Developer
    12 месяцев
    Далее
Решения вопроса 1
при анализе код увидел, что постоянно лазию в бд за одной записью (за одной и той же), чего, конечно же хотелось бы избежать. посоветуйте пожалуйста, как передавать данные между объектами?
Есть такой подход как UnitOfWork, в котором складываются объекта из персистенс слоя (слоя хранения), соответственно когда идет повторное обращение — запрос в БД не идет...

использую АR.
А вот тут проблема, тк AR модуль — кусок работы БД, а не отделенная от нее штука. То есть она (модель) ходит в хранилище, а не за ней куда-то и кто-то ходите... Ярчайший пример, когда нарушение SRP очень больно сказывается.

Решение: можно навернуть сверху модельки некоторый провайдер, который будет персистить загруженные объекты, и по программе путешествовать именно не модель, а провайдер... Тогда можно будет доставать из него имеющий объект, а если нет его — загружать
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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