会社の研修ではだいたい2~3人ぐらいのグループで仮想プロジェクトを作成することになっています。
プロジェクトはSpringToolSuite(STS)を使うのですが、研修生向けマニュアルのようなものが今までなかったので、導入からローカルホストを立ててWebページを確認するまでをまとめました。
初めてプログラミングの仕事に就く人向けですので、初歩的なところも端折らず書いています。
記事は3つに分割しています。
1. MVCモデルの説明 ←今ここ
2. STSの導入からPleiadesによる日本語化まで
3. プロジェクトの作成からローカルホストでページを確認するまで
STSをダウンロードする前に、まずはWebアプリケーションの設計思想であるMVCモデルの説明から始めます。
最初から座学かよと思わず少しだけお付き合いください。
#MVCモデルとは
MVCモデルというのは、一言で表すとWebアプリケーションの設計思想の1つです。
Webアプリケーションを作る際に開発者が思い思いに実装すると、その人にしか理解できなかったりバグが発生したりとトラブルになりがちですし、クライアントの側から直接データを参照するのはセキュリティの面でもよろしくありません。
そのため、要所々々で何をどう動かすかのルールを決めて実装しようという話です。
それぞれの役割は以下の通り。
M : Model
演算やデータ層へのアクセスなど、実際に何か処理を行う部分。ロジックやサービスという名前が付く。
Controllerによって呼び出されて演算結果やデータベースから取得したデータなどを返す。
V : View
Controllerによって生成されクライアントに送られる。名前の通り見た目の部分であり、グラフや図のほか、Webページに必要なHTMLファイルもここに含まれる。
C : Controller
HTTPリクエストの内容を確認して適切なModelを呼び出し、演算結果やデータなどをViewとして生成してクライアントに送り返す(HTTPレスポンス)するもの。
例)
クライアントがWebページでキーワードを入力する
↓
Controllerがキーワードを受け取ってデータベースにアクセスするためのModelに飛ばす
↓
Modelがデータベースにアクセスし、キーワードに紐づくデータを取得してControllerに返す
↓
ControllerはViewとしてHTMLファイルを作成し、ファイル内にModelから取得したデータを記載してクライアントに送る
↓
Webページが遷移してキーワードに紐づいたデータの一覧が表示される
MVCモデルはあくまでも設計思想であり、開発において明示的にMVCモデルだと設定するようなことはありません。
そうは言ってもMVCモデルを意識しなければ、リクエストをController以外のものが受け取ってしまったり、全然関係ない演算処理を1つのModelに入れてしまったりということが起こるかもしれません。
実装した人にしか理解できないコードはその場では動いたとしても後々障害になりますので、頭の片隅に置きながら開発を進めるのが良いと思います。
以上がMVCモデルの簡単な説明でした。次回はSTSをダウンロードして日本語化するところまで進めたいと思います。