#本記事について
こんにちは。フロントエンドの学習を一通り進めたのでバックエンドの学習に踏み入れた駆け出しエンジニアです。
プログラミング学習サイト「白熱教室」でのエクササイズ課題のアウトプット兼メモとして記事にしました。
今回のエクササイズはこちらです ↓
【エクササイズ】WebフレームワークのMVCとルーティングの復習
プログラミング学習にはおすすめのサイトなので、気になる駆け出しエンジニアの方は一緒に学習しましょう!!
##MVC
###1. MVCは何をするためのものか答える
ModelViewControllerの略。機能ではなくデザインパターンのひとつ。
「Model」,「View」,「Controller」の役割に分けてアプリの実装を行うことで、キレイなコードを書いたり管理がしやすくなる。
###2. MVCのそれぞれ3つの役割を答える
「Model」: データ管理の役割を実装する。
→ ◦ データの操作・加工
◦ DBとのやりとり
「View」: 表示まわりの実装
→ ◦ テンプレートファイルの実装
※引用: 「テンプレートファイル」という言葉は、実際にexpressの学習に入るときに具体的に説明しますが、ここでは「HTMLファイルではないが、HTMLのコードを返すことができるファイル」と認識していただけたらと思います。(引用元)
「Controller」: 橋渡しをするコンテナーの様な役割
→ ◦ クライアント・Model・Vierのそれぞれの操作にはControllerを仲介にやりとりをする
##ルーティング
###3. Webフレームワークのルーティングとは何を指すか答える
クライアントからのリクエスト(HTTPメソッド等)を実際の処理(サーバー処理)を紐付ける
###4.「GET /users」でリクエストをしたときの、クライアントとサーバーの処理の流れを答える(※ルーティング、MVCという言葉を使って說明すること)
- クライアントのリクエスト「GET/users」が投げられる
- 「Get/users」にルーティングされているControllerのgetUsersメソッドが実行され、Modelにユーザー一覧の取得を依頼
- ModelがDBに問い合わせる
- ModelがDBからユーザー一覧のデータを受け取る
- Modelは受け取ったデータをControllerに渡す
- Controllerは受け取った情報をVierに渡す
- Viewはデータを元にHTMLに反映させる
- これらの処理で動的反映させたHTMLをクライアントにレスポンスする。
// MVCの流れ
- クライアント
- Controller
- Model
- DB
- Model
- Controller
- View
- Controller
- クライアント
//