JavaでWebアプリ制作を学習してみよう。- Spring MVC –
今回は Spring Boot の M(Model)・V(View)・C(Controller)を勉強した結果のまとめてみました。
注意:
ここに書いている内容は私が独学でネット情報を色々読んで自分なりに学習したものなので誤った認識をしている場合はあると思います。予めご了承の上読んで下さい。
Spring Boot MVC
Webアプリ開発を行う上で基本となる M(Model)V(View)C(Controller) を調べてみることにした。
自分なりに学習した結果をイメージ図にまとめてみた。※誤っている可能性もあるのでご注意下さい。
C(Controller)は説明するまでもなく WebクライアントからRequestを受信してResponseを返信する。
Request受信~Response返信の間でRequestデータを使ってデータベースにアクセスしたりデータを計算・加工する処理(ビジネスロジック)を作成(プログラミング)することになる。
M(Model)はビジネスロジックの実行を行い戻り値をCに返す。
ビジネスロジックとしてはデータベースの追加・更新・削除・参照などの処理やデータの計算等がある。
V(View)はCから渡されたWebクライアントに返すデータをResponse用にレンダリングしWebクライアントに返信する。
Spring Bootでは Thymeleaf が標準のようだ。
Webアプリケーションの本体は上記のMの「ビジネスロジック」だと思います。
アプリケーションを開発するということはアプリケーションで実現したい「要求」を整理し「仕様」を策定し、「入(Request)出(Response)力」と「その処理系(ビジネスロジック)」を「設計、製造」(プログラミング)、そして「テスト」をしていくことであることを改めて頭においておきたい。また、Webクライアントの先のユーザに分かりやすいユーザ入力や表示のユーザインタフェースを「設計・製造」することも重要であることを忘れないようにしたい。
余談:
REST API でサーバサイトアプリを開発した場合 Request と Response を JSON形式の入出力とすれば Viewのレンダリング機能が必要なくなるんじゃないの?って気がする。
この先に最近よく見聞きする「フロントエンド」「バックエンド」アプリやエンジニアという言葉の答えがあるのではないだろうか?と思う。この先おいおいと。