私はリポジトリの質問の原則を理解しようとしています。しかし、私は別の質問に遭遇しました。私にとっては、リポジトリパターンがオーバーヘッドの原因になるようです。リポジトリパターンとオーバーヘッド..?
例:
マイEntityクラスは次のようになります。
class newsEntity
{
private $title;
private $content;
private dateCreated;
private $author;
private $category; // just 1 category possible for simplicity
# .. Getter and Setter methods ...
}
リポジトリは、この(簡体字ofcourseの)
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年のタイトルと作成日から見つけることができるすべてのニュースアイテムのリストを単純に示しています。
今私が持っている問題は、私はEntityオブジェクトの$ titleと$ dateCreatedプロパティのみを使用していることです。しかし、他のすべてのプロパティもいっぱいですが、私はそれらを使用することはありません!これは、getNewsByYearが3000レコードを取得した場合、決して使用されないオブジェクトのプロパティの多くを埋め込むことを意味します...それは大きな問題ではありません...?このコースは、その集約がさらに悪化する...
私は確信していないもう一つのことです;私のリポジトリはいつもEntityオブジェクトを返す必要がありますか?または、タイトルや何かを表示する必要があるときに文字列を返すこともできますか????