存储库模式 - 放置文章缩略图的位置



一开始我很抱歉标题 - 我不知道如何称呼这个问题。

假设我有(简化的)类:

class Articles_Repository {
    public function save(Article_Entity $article) {...}
    public function find($id) {...}
    // Other methods
}
class Article_Entity {
   public $thumbnail_url;
   public $title;
   public $text;
   ...
}

我应该在哪里放置"更改缩略图" - 上传和裁剪和保存特定文章缩略图的方法?进入存储库、实体或其他地方?

我相信放置

该方法的最佳位置是在服务中。我不认为处理图像是文章实体的责任。存储库的,甚至更少。文章只是说它有一个缩略图,它不在乎缩略图是如何生成的。

控制器应将上传的图像传递给服务,该服务将涉及要裁剪的其他对象,然后保存图像(图像存储库可能在此处工作)。然后将缩略图 url 分配给文章。

最新更新