fv17の日記

Webエンジニアの備忘用ブログです。主にWeb界隈の技術に関して書いています。

MVCとは何か、デメリット、メリットは?

MVCについて、定義は分かる。

MVCがない場合、例えばViewからデータベースに直接アクセスし始めたら、どこで何をしているか誰も理解できないカオスなソースコードになるのは明らか。

で、自分のその感覚が合っているのか、もう少し言語化して理解したいと思い、下記の順番で理解。

定義を知る

そもそもMVCって何?という場合は、下記かRails tutorialで。
Model View Controller - Wikipedia

もうちょっと分かりやすく説明してくれ

MVCの概念を、レストランやメイド喫茶に例えて説明してくれており、非常にイメージを持ちやすい。
qiita.com

ちょっと簡単すぎるのでもう少し技術屋っぽく

メリットについてはこちらに一覧があり、分かりやすい。少し説明や根拠が薄いが他の記事よりもまとまっている。
www.interserver.net

エンジニア界隈で有名人が書いた記事ないの?

satoshi.blogs.com
中島さんのMVCに関する記事。下記のようなMVCの概要からモデル、ビュー、コントローラそれぞれの説明があり、非常に分かりやすい。そして、RailsのえせMVCについて解説されているので一読の価値あり。

MVCの発想の根底には、「モジュール化と情報の隠蔽により、プログラムがスパゲッティ化するの(コード間の相互依存関係が複雑に入り込んでしまってにっちもさっちも行かない状態になること)を避けよう」というオブジェクト指向の発想がある。

blog.codinghorror.com

こちらの記事でも言われているように、分業のためというのは納得感がある。

So separating model and view addresses this very important practical problem of how to have designers work with coders.

後で読む

MVC関連で記事ないかなーと漁ってたら見つけた記事。パッと見で説明が良さそうなので後で読んでみる。
事例で学ぶデザインパターン 第 5 回 | オブジェクトの広場