Help us understand the problem. What is going on with this article?

MVCって何だろうか。

MVCって何

 ウェブシステムの本を読むと,必ず「MVC」ということばが載っています.もう30年以上前から考えられている概念で,デザインパターンの一種,いや,元祖です.
 MVCのMはモデル.Vはビュー.Cはコントローラ.何のことだかさっぱりという人に分かるように書きたいと思います.
 MVCというから分かりにくい気もします.ここでは,CVMといってしまいます.コントローラ,ビュー,モデル.

コントローラ

 まず,コントローラってなにか.昔無線でラジコンって流行りましたよね.あと,任天堂のゲーム機もコントローラを持って遊びますよね.テレビにもリモコンがあります.こういう,操作するための「操縦」装置をコントローラといいます.そしてこれはつまり「入力」装置なんですね.

ビュー

 そして,ラジコンもゲームもテレビも,動いている様子を見ますよね.ラジコンで飛んでいる飛行機模型や,液晶画面,テレビ画面.そういうコントローラで動かしているのが分かるような装置をビューといいます.つまり「出力」装置ですね.

モデル

 そして,ふつうは入力と出力があれば充分楽しいのですが,作る側のことを考えると,もうひとつ大事なものがあります.何だかわかりますか.それは,データの処理です.入力装置からのデータを出力するために,データをどうにかしなければなりません.そのデータをモデルというんですね.
 データですから,大抵のウェブシステムはデータベースを使います.データベースが使えない環境でも,モデルにデータを持つ処理を書きます.こうしてデータを保存するところを作って,入力データを入れて,出力データを出して,システムは動きます.その出し入れをうまく行うために,モデルを書くんですね.
 どこにデータを持つか.これは重要です.それに劣らず,どうやってデータを見せるか,どこからデータが入ってくるか.これも重要.もうお気づきのように,データの持ち方はモデル,データの見せ方はビュー,データの入り方はコントローラなのです.ようやくMVCの順になりました.

まとめ

 MVCは30年以上前からある考え方で,ゲーム機もテレビもウェブサイトも,この考え方を知っているエンジニアが作ってきました.そのくらい,ウェブをエンジニアリングしやすくする考え方なので,ぜひこの先へ進んでいってください.

IKIX
情報建築を学ぶウェブプログラマです.
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした