Будет ли данный функционал избыточен для класса? Есть класс Game являет собой видео игру так же есть GameMapper который вытаскивает из базы информацию и возвращает объект класса Game. Так же есть аналогичные классы Post и PostMapper соответственно. Так вот так как у игры могут быть новости которые принадлежат только этой игре следует задать свойство posts и хранить там коллекцию объектов post. Предварительно внедрив PostMapper в свойство GameMapper'a, не будет ли это излишним? В данный момент реализовано следующим образом: $game=$container->make('GameMapper')->find($uri);// Вытаскиваю из базы игру по запрошенному uri
View::render
( 'single',
[
'game'=>$game,
'posts'=>$container->make('PostMapper')->find_posts_for_game($game->id())// Вытаскиваю новости по id игры
]
);
После произведение вышеописанных манипуляций получу следующее:View::render
( 'single',
[
'game'=>$game=$container->make('GameMapper')->find($uri);// Вытаскиваю из базы игру по запрошенному uri
]
);

21 Авг 2019 в 07:04
161 +1
0
Ответы
1

Необходимость хранить коллекцию объектов Post в свойстве Game может быть обоснована, особенно если новости и игры являются тесно связанными сущностями и часто используются вместе. Однако, если вы уже используете PostMapper для получения новостей и передаете их в представление каждый раз отдельно от объекта Game, то внедрение PostMapper в GameMapper может быть избыточным.

Ваше текущее решение выглядит логичным и эффективным: каждый раз, когда вы получаете объект Game из базы данных, вы также получаете соответствующие новости с помощью PostMapper и передаете их в представление. Нет необходимости хранить эту информацию в объекте Game, если она не будет активно использоваться внутри самого класса Game.

Таким образом, если ваша текущая реализация работает и вам не требуется активного использования новостей внутри объекта Game, то нет необходимости вносить изменения и добавлять коллекцию объектов Post в свойство Game.

20 Апр 2024 в 13:07
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир