0

はじめに タイトルで申し訳ありません。この問題をなんと呼んでいいのかわかりません。

(簡略化された)クラスがあるとしましょう:

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;
   ...
}

「サムネイルの変更」 - 特定の記事のサムネイルをアップロード&クロップ&保存する方法はどこに置くべきですか? リポジトリ、エンティティ、または他の場所に?

4

1 に答える 1

0

メソッドを配置するのに最適な場所は Service だと思います。画像を操作するのは Article エンティティの責任ではないと思います。リポジトリの、さらに少ない。記事には、サムネイルがあると単純に記載されており、サムネイルがどのように生成されたかは関係ありません。

コントローラーは、アップロードされた画像を他のオブジェクトを含むサービスに渡し、画像をトリミングしてから保存する必要があります (画像リポジトリがここで機能する場合があります)。サムネイルの URL が記事に割り当てられます。

于 2012-11-14T10:10:20.603 に答える