ARACOOOL
@ARACOOOL
PHP Developer

Как работать со сложной сущность, если мне нужно всего лишь отобразить данные?

Доброго времени суток.
Есть сложный Aggregate Root. Сложность его состоит в его создании, так как данные для этого берутся из различных источников.
Задача, просто отобразить список из таких сущностей.
Есть ли смысл строить такой сложный объект каждый раз, если из всех доступных полей мне нужно использовать всего пару + некоторое поведение, которое также зависит от нескольких полей?
И вообще, как правильно работать с такими сложными сущностями когда задача очень проста?
  • Вопрос задан
  • 180 просмотров
Пригласить эксперта
Ответы на вопрос 4
SilenceOfWinter
@SilenceOfWinter Куратор тега PHP
та еще зажигалка...
Используйте "ленивую" загрузку данных:
class Test
{
    protected $abc;
    
    public function getAbc()
    {
        if (!isset($this->abc)) {
            $this->abc = new Abc;
        }
        return $this->abc;
    }
}
Ответ написан
Комментировать
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Через ноды нужного графа связей из различных однотипных полей: одно свойство - это один граф.
Тянете нужные ноды по свойству1 и получаете список1 связанных объектов.
Затем, тянете другие по свойству2 и тоже получаете список2 связанных объектов.
Затем делаете пересечение списка1 и списка2.

Итог: список объектов, объединённые критериями выбора по свойству1 и свойству2.
Ответ написан
Комментировать
@Quieteroks
php программист
А что мешает создать отдельный метод для построения более простой сущности для списка? Можно не только упростить строитель, но и создать отдельную сущность со своей логикой на основе все той же таблицы и использовать из в зависимости от задачи.

З.Ы. Сильно в ддд не углублялся, поэтому могу нести чушь.
Ответ написан
@galliard
Используй прокси объекты при билдинге.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
Ведисофт Екатеринбург
от 25 000 ₽
YCLIENTS Москва
от 200 000 до 350 000 ₽
от 300 000 до 500 000 ₽
20 апр. 2024, в 12:50
30000 руб./за проект
20 апр. 2024, в 12:01
20000 руб./за проект
20 апр. 2024, в 11:52
5000 руб./за проект