1

シンプルなインターフェースで画像ファイルを追加および削除する必要があるアプリがあります。これらのファイルを直接削除するのはコントローラーでしょうか、それともモデルのドメイン内でファイルを削除する必要がありますか?

ファイルは一種の「データ」と見なすことができるので、私は尋ねます。コンベンションが何であるかを知りたいだけです。

4

1 に答える 1

2

モデルの設計方法にもよりますが、全体的にはモデルの問題だと思います。

これは、現在の追加/削除が単なるファイルシステムアクションラッパーである場合でも、将来的にデータベースアクション/リビジョンのサポートが含まれる可能性があるためです。このように、コントローラーは実際に何が起こるかを認識しません。

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クラスをモデル化するだけです。

于 2012-08-27T04:34:51.180 に答える