MVCについて勉強したことまとめ

投稿者: | 2011/09/01

MVCとは?

Moderl(モデル)、View(ビュー)、Controller(コントローラ)の頭文字をとった略語。

ソフトウェア設計の考え方のひとつ。

モデルとビューとコントローラの3つに分けて作ることで、色々と良いことがある。

iPhoneアプリ開発をするなら、知っておいた方がいい。

 

教材

こちらのページで紹介されていた、この記事を読みました。

こちらのページ

知識ゼロからはじめるiPhoneアプリ開発 – A Day In The Life

この記事

※記事を全て読むには、日経BPパスポートへのユーザー登録(無料)が必要です。

まつもと直伝 プログラミングのオキテ 第20回 MVCとRuby on Rails:ITpro

 

Model

アプリで扱うデータを定義・構成する部分。

例えば項目とデータのセット。
名前:あおのうま、性別:男、年齢:おっさん、みたいな感じ。

 

View

アプリで扱うデータを「どう見せるか」を決める部分。
例えば箇条書き。

  • 名前:あおのうま
  • 性別:男
  • 年齢:おっさん

或いは表形式。

名前 性別 年齢
あおのうま おっさん

 

Controller

ユーザーや他のプログラムからの入力を受けて、モデルやビューを操作する部分。

例えば上の表で「あおのうま」の部分をクリックすると、いななきます。(要JavaScript)

 

で、MVCで考えると何が良いの?

ひとことで言うと、これ。

専門職に任せる。

MVCは、モデル、ビュー、コントローラ、が、それぞれ自分専門の仕事に集中する形。
これによって、色々な場合に融通が利きやすいアプリができます。

「専門の仕事に集中」とか言うと、
カチコチで融通が利かない印象を受けるかもしれません。
しかし、そんなことはないのです。

例えばモデル。

名前が”あおのうま”から”あかのうま”に変わっても、ビューは全く気にしません。

「モデルのデータは、ここにこう見せる」というのがビューの仕事ですので、
変更はモデルの内容だけで済みます。

つまり、表示に関してはビューに「お任せ」ということになります。

動作に関しても同様です。

モデルのデータ部分がどうであれ、
「表をクリックするとメッセージが出る」という内容に変わりはありません。
__表示されるメッセージ内容はデータにあたりますので、モデルの管轄ですが__

この様に、それぞれが専門職であることで、「お任せするね!」が出来るわけです。
これにより、いちいち表示や動作のプログラムを作らずに済み、
開発の手間もアプリ自体のサイズも小さく済みます。

 

ちょっと補足(2011.09.02)

ここだけの話、MVCで設計しても「開発の手間」は小さくなりません。
むしろ、しっかりと設計しないとならない分、大変かも。

実は、MVCの構造が開発面で活きてくるのは、プログラムの更新時だったりします。

構造がはっきりと分業されているので、更新時の変更箇所が最小限で済むのです。

先の例にもありましたね。
データであるモデル部分の内容を変えるだけで済んでいます。

もちろん、それも設計がちゃんとしていればの話になるわけですが。

 

それ違うくね?とかあったら教えて下さると嬉し泣きます

だいたいこんな感じで私のMVCに関する理解内容を記事にしてみました。

もし「それ違うよ!」とか「このこと忘れているよ!」とかあったら、
コメントとか頂けると、すげー嬉しいです。
よろしくお願いします。

 

参考

知識ゼロからはじめるiPhoneアプリ開発 – A Day In The Life

まつもと直伝 プログラミングのオキテ 第20回 MVCとRuby on Rails:ITpro

木下 誠
ビー・エヌ・エヌ新社 2011-02-09
¥ 2,940


コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください