function __construct(Database $db) /** @return Article */ public function find(ArticleId $articleId) /** @return Article[] */ public function findAll() /** @return Article[] */ public function findByAuthor(Author $author) }
Knowledge, Mathias Verraes » Value Objects, Tony Piper » Object Thinking, David West » Patterns of Enterprise Application Architecture, Martin Fowler » Domain-Driven Design, Eric Evans