ある処理をMVCでわけるさい、モデルにわけるべきかコントローラにわけるべきかという判断に悩むときみなさんは、どのような判断基準をもって対処していますか。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答4件
0
場合によります。
ほぼ丸投げの今回の内容だけではこれ以上は回答が難しいです。
きちんとした回答を得たければ前提条件や要件部分を具体的に記載してください。
投稿2018/04/25 10:13
総合スコア80850
0
ベストアンサー
典型的なMVCのWebフレームワーク前提として回答します。
コントローラーの役目はコントロールです。
迷うような処理は全てModelにぶち込んで下さい。
そっから先は値さえ帰ってきてViewへバインド出来ればどうでも良いので、
Modelへ行った先の抽象化を頑張ってください。
各コントローラの1つのメソッドの行数は10行以内が目標です。
ルーティング、Viewへのバインド、出力方式の決定以外はほぼ何も出来ないと考えた方が良いでしょう。
投稿2018/04/25 11:23
編集2018/04/25 11:29総合スコア21158
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/04/27 02:47 編集
0
本当に、”場合によりけり”だと私も思いますが、しいて言えば
・他のコントローラーで使いそうな処理は、モデルに置いておく
・特定のコントローラーでしか使わない処理は、コントローラーに置く
とすると、開発スピードやメンテナンス性が向上するかと思います。
投稿2018/04/25 10:24
総合スコア1939
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/04/26 09:52
2018/04/26 16:51
0
まず、MVCの意味を考え直します。
モデルは構成、ビューは表示、コントローラは処理かな?
これから作ろうとしているものが、何なのか。
もし、モデルとビュー、モデルとコントローラと判断がつきにくい場合は、その処理からモデルの部分、コントローラの部分を取り出して考えます。
特に判断基準というわけではないですが、その処理がやろうとしていることを考え直すようにしています。
今すぐやらないといけないものなのか、表示の部分は後からでもいいのではないか?とか。
あとはクラスにしていつでも呼び出せるようにするとか。
そんなところでしょうか。
投稿2018/04/25 10:16
総合スコア96
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。