vitaly_74
@vitaly_74

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

Добрый день, использую в экшене одновременно 2 паттерна, декораторы, для модификации объекта, а цепочку обязанностей для модификации алгоритма, без изменений старого кода.
при анализе код увидел, что постоянно лазию в бд за одной записью (за одной и той же), чего, конечно же хотелось бы избежать. посоветуйте пожалуйста, как передавать данные между объектами? использую АR.
  • Вопрос задан
  • 141 просмотр
Решения вопроса 1
Maksclub
@Maksclub
maksfedorov.ru
при анализе код увидел, что постоянно лазию в бд за одной записью (за одной и той же), чего, конечно же хотелось бы избежать. посоветуйте пожалуйста, как передавать данные между объектами?
Есть такой подход как UnitOfWork, в котором складываются объекта из персистенс слоя (слоя хранения), соответственно когда идет повторное обращение — запрос в БД не идет...

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

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

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

Войти через центр авторизации
Похожие вопросы