質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
MVC

MVC(Model View Controller)は、オブジェクト指向プログラミングにおけるモデル・ビュー・コントローラーの総称であり、ソフトフェア開発で使われている構築パターンとしても呼ばれます。

Q&A

解決済

1回答

540閲覧

MVCモデルについて

kanetugu_70e

総合スコア100

MVC

MVC(Model View Controller)は、オブジェクト指向プログラミングにおけるモデル・ビュー・コントローラーの総称であり、ソフトフェア開発で使われている構築パターンとしても呼ばれます。

0グッド

0クリップ

投稿2019/01/16 16:09

##MVCモデルの解釈について
MVCモデルについて色々と解説を見ましたが、いまいちピンと来ない為、確認をさせて頂きたいです。
実際の開発に携われば、簡単に理解できる内容なのかもしれませんが、現状それが出来ない為ご了承ください。
疑問点は以下の通りです。

1.そもそもMVCモデルとは?
⇒”MVCモデル”という言葉は、開発における”考え方”であると解釈しております。
また、利点についても分業による作業効率化(オブジェクト指向そのもの?)、
依存性低減による保守性向上・バグ抑制等がある事も理解したつもりです。
ただ、上記にもある通りこれらはオブジェクト指向の考えそのものではないのでしょうか?
わざわざMVCモデルなどと名称付け(仕様策定)する必要があったのでしょうか?

2.各機能(MVC)の役割について
⇒モデル上の各要素の役割を以下(1)~(4)の様に解釈していますが、問題ないでしょうか?

(1)Controller
⇒ブラウザとの窓口であり、HTTPリクエストに応じた各要素への指令を出す。
また、各要素からの応答をブラウザに渡す。
あくまで仲介役であり、具体的な処理は行わない。

(2)Model
⇒主にセッション管理・DBアクセス管理・データ変更の通知(結果?)等を行う。
解説によっては、”Modelは入出力・表示は行えない"と記載している所がございました。
ここで言う”入出力・表示”というのは、何を指すのでしょうか?
DBからのデータ抽出・表示は入出力では無い?通知は”出力”に含まれない?

(3)View
⇒HTML文書の整形を行う。
Controller要求に対しDB等から該当データ抽出を行い、整形して(HTML化)レスポンスとして返す。
この時のDBアクセス等は一度Model側へ任せる。

(4)MVC全体
⇒今まで、MVCモデルのプロセスは、”ブラウザ⇒Controller⇒Model⇒View⇒Controller⇒ブラウザ”
といった固定フローなのかと思っておりましたが、MVC相互のやり取りは下部図の様に複数のフローパターン
が考えられるのでしょうか?

イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

そもそもMVCはPCのGUIアプリ開発で生まれたものなのでそっちで考えないと理解できない。
WebのMVCは別物。
Web以前から普及していたMVCという概念を輸入しただけ。

投稿2019/01/16 17:11

kawax

総合スコア10377

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問