Я пытаюсь понять принципы вопроса о хранилище. Но я наткнулся на другой вопрос. Мне кажется, что шаблон хранилища вызывает много накладных расходов.
Пример:
Мой класс сущностей выглядит так:
class newsEntity
{
private $title;
private $content;
private dateCreated;
private $author;
private $category; // just 1 category possible for simplicity
# .. Getter and Setter methods ...
}
Хранилище выглядит так (упрощенно)
class newsRepository
{
public function getNewsByYear ( $year )
{
$newsList = array();
// Some ORM code which fills $newsList with newsEntity objects
}
}
Код клиента выглядит примерно так:
$repo = new newsRepository();
$news = $repo->getNewsByYear(2011);
foreach ( $news as $item )
echo $item->getTitle() . " " . $item->getDateCreated();
Это просто показывает список всех новостных элементов, которые он может найти с 2011 года, с названием и датой создания.
Теперь у меня проблема в том, что я использую только свойства $ title и $ dateCreated объекта Entity. Но все остальные свойства заполнены, но я никогда не использую их! Это означает, что если getNewsByYear извлекает 3000 записей, он также заполняет множество свойств объекта, который никогда не используется ... Разве это не должно быть большой проблемой ...? Этот курс становится еще хуже, когда его совокупность ...
Другая вещь, в которой я не уверен, это; Должен ли мой репозиторий ВСЕГДА возвращать объект Entity? Или он также может возвращать только строку, когда мне просто нужно отобразить заголовок или что-то в этом роде .. ???