MVC理解メモ


MVCとは

  • アプリケーション全体のコードをキレイに管理する為の考え方。また、数あるデザインパターンの一つ

デザインパターンとは

  • 過去のソフトウェアエンジニア(賢人達)によって作られた、コードをキレイに書く為のテンプレート

MVCの「M」

  • 「Model」の頭文字Mを取ってる

M(Model)が行なっていること

  • データベースとの通信を制御している
  • データベースの操作(取得、作成、更新、削除)
  • データの加工・整形(Modelで持っているデータを、求めているデータ形式に加工したり、整形したりしてくれる)

※他の2つ(View・Controller)にデータ管理(通信・操作・加工/整形)のコードを置かないことにより、データ管理で問題があった場合は、Modelを疑えるようになります。

MVCの「V」

  • 「View」の頭文字Vを取っている

※UI(ユーザーインターフェース)と同様

V(View)が行なっていること

  • 表示/入力周りの管理・制御を行なっている。

 ※Controllerで定義したデータをModel経由で取得して、表示を行うなど

MVCの「C」

  • 「Controller」の頭文字Cを取っている

C(Controller)が行なっていること

  • クライアントとModelとViewへの橋渡し
  • クライアントからのリクエストを受け取って、内容に応じて処理を行う。
  • 必要な時にデータベースからデータの受け渡しを行う。
  • Viewを生成する時に、Modelから受け取ったデータを必要な時にViewに受け渡す。

メリットに感じる部分

  • それぞれが機能(データベース管理/入力表示管理/橋渡し)を独立して行なっているから、バグや問題が発生したら特定しやすい

参照:デザインパターン
https://ja.wikipedia.org/wiki/%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3_(%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2)