フレームワークをつかったアプリ開発において、MVCの知識はとっても大事です😇
ただ、わたしのような初心者には、とっつきにくいです。
そこで簡単にまとめました。
MVCって何?
MVCは、アプリケーションの設定を整理するための「概念」です。
Webフレームワークで一般的に取り入れられています。
Model(モデル)-View(ビュー)-Controller(コントローラー)の略語。
「M=モデル」、「V=ビュー」、「C=コントローラー」、それぞれの頭文字をとり「MVC」と呼びます。
MVCを使うメリットは?
- 変更時の作業が軽くなります。
- コードを再利用しやすいです。
- 機能を分割できます。
- 各エンジニアが役割分担しながら開発、保守を行いやすくなるため、効率化が図れます。
MVCの役割は?
- データベースと連携しデータ処理を行う「Model」
- ユーザーが入出力を行う画面を生成する「View」
- ViewとModelを制御する「Controller」
Model(モデル):
システムの本体部分にあたります。アプリケーションのデータや処理を行います。システムの中でビジネスロジックを担当。
View(ビュー)
画面を表示したり、入力する機能の処理を行います。例えば、Webブラウザに表示するHTMLを動的に生成します。
Controller(コントローラ)
ユーザーの入力を受け取り、モデルとビューを制御します。Viewからの入力に応じて、必要なロジックの実行をModelに依頼し、その結果表示をViewに依頼します。
MVCを使ったアプリケーション開発手順
MVCの前に、「ルーティング」という概念を理解する必要があります。
ルーティングは、URLとコントローラのアクションを紐付ける仕組みです。
ブラウザからサーバーへ送られてきたURLをもとに、サーバー側でどの部分のどの処理を実施すればいいか判断する機能です。
-
Modelの作成:アプリケーションのデータを定義するModelを作成。データベースへのアクセスやデータの操作を担当します。
-
Viewの作成:表示する画面のUIを設計し、Viewを作成。ユーザーが操作するUI部分を担当します。
-
Controllerの作成:ViewとModelを制御するControllerを作成。Controllerは、ユーザーからの入力を受け取り、ModelとViewを制御します。
参考サイト
- @ IT MVCモデルとは何ですか・・・
- MVCモデルとは!概念やそのメリットをわかりやすく解説!
- MVCフレームワークとは?【WEBサービス開発の基礎】
- Ruby on Rails チュートリアル 1.3.3Model-View-Controller(MVC)
実際に開発してみないと、MVCの便利さは実感しにくいと思います😇
まだまだ勉強中の身なので、修正などありましたら何卒ご指摘ください。