シンプルなインターフェースで画像ファイルを追加および削除する必要があるアプリがあります。これらのファイルを直接削除するのはコントローラーでしょうか、それともモデルのドメイン内でファイルを削除する必要がありますか?
ファイルは一種の「データ」と見なすことができるので、私は尋ねます。コンベンションが何であるかを知りたいだけです。
シンプルなインターフェースで画像ファイルを追加および削除する必要があるアプリがあります。これらのファイルを直接削除するのはコントローラーでしょうか、それともモデルのドメイン内でファイルを削除する必要がありますか?
ファイルは一種の「データ」と見なすことができるので、私は尋ねます。コンベンションが何であるかを知りたいだけです。
モデルの設計方法にもよりますが、全体的にはモデルの問題だと思います。
これは、現在の追加/削除が単なるファイルシステムアクションラッパーである場合でも、将来的にデータベースアクション/リビジョンのサポートが含まれる可能性があるためです。このように、コントローラーは実際に何が起こるかを認識しません。
for f in filesToDelete:
f.delete();
endfor;
どこdelete
にある可能性があります:
public function delete()
{
unlink(this.path);
}
また
public function delete()
{
db::remove(this.path); // or whatever
unlink(this.path);
}
また、バッチ操作が必要な場合は、それらを実行するためにFolder
/SmartFolder
クラスをモデル化するだけです。