どちらのタイトルがより説明的か分からないので、このようにしました。MVC の世界に迷い込んだ気分です。
参考までに: 私は PHP を使用していますが、この特定のケースではそれほど重要ではないようです。
私の問題は次のとおりです。
次のメソッドを含む UserController があります。
- ログインする
- 新着
- 見せる
- 概要
次に、UserModel を作成します。これには、この場合はほぼ同じメソッドが含まれています。
- ログインする
- 作成
- フェッチ
問題は、データベース (または XML フィード、Web サービスなど) から取得したユーザー データを何に保持するかということです。私は、データベースからのすべての (関連する) プロパティを含む User 'ビジネス オブジェクト' を考えました。次に、データベースからユーザーを取得するときに、取得したユーザーごとに新しい User オブジェクトをインスタンス化します。検索から返されたユーザーが 1 人だけの場合、User オブジェクトのみを返します。より多くのユーザーが返された場合は、すべての User オブジェクトを含む UserCollection オブジェクトをインスタンス化します。この場合、それらを反復処理できます。
それは MVC でユーザーを扱う正しい方法ですか?
次に、10 人のユーザーの概要を作成したとします。それらのうちの 5 つが一度に編集されます。チェックボックスを使用してステータスを変更することを想像してみてください。変更を処理するにはどうすればよいですか? 変更されたすべてのユーザー オブジェクトをループして、データベースに保存し直しますか? その後、Active Record パターンの実装のように見え始めますが、これは使用しないように言われています。
この「アーキテクチャ」の問題を解決するために必要なクラスやメソッドを誰かが明確にしてくれることを願っています。