Webフレームワークを使う上で、やっぱりMVCモデルを知っていることは大事
手前味噌ではございますが、REST アーキテクチャスタイルのナレッジと並んで、
Webアプリを扱うにあたって、MVCモデルを知っていることは改めて大事だな、
と思ったので参考リンクをナレッジにまとめます。
MVCモデルとは!概念やそのメリットをわかりやすく解説!
MVCモデルとは?フレームワークを使う前に知っておきたい!
MVCモデルとは?開発者のための基礎知識
REST や MVC の概念を知らずにフレームワークを触るとその情報量の膨大さから
???となってしまいます。
もしくは、マスターするまでにとても時間がかかります。
そもそも、プログラミング言語の更にその外側(この表現が適切?かわからないけど私のイメージ)に
あるものなので、初学者をくじけさせるに十分なほどの情報の海になっており、
数多くの方が溺れてしまったのではないかと想像します…
海で溺れないために、流されたら浮いて救助を待つ、という方法を知るくらいに、
MVCモデルの概念を知ることは、情報の海に溺れないための方法論です。
REST アーキテクチャスタイルでもそうでしたが、MVCモデルもあくまでも概念であり、
ガチガチの規約やルールではありません。
赤信号だったら止まる、青信号だった進む、というくらいの共通認識(コモンセンス)であり、
守らなかったからと言って、必ず、プログラムが動かなくなるわけではありません。
ただし、赤信号は止まるを守らないと、事故を起こす確率が上がるように、
RESTやMVCモデルもまた、知らずに闇雲にプログラムを組んでいると、
バグを引き起こす確率が上がります。
また、その後、機能拡張などの保守開発がとてもしづらいものとなります。
とはいえ、既に組み上がっていて、動いてしまっているRESTやMVCに則ってないプログラムは、
あとから保守する人からは嫌がられるかもしれませんが、
結局のところ納品物はテストや試験を通過していて、動けばひとまずはよしです。
RESTやMVCに則っていないから、といって工程が進んでいるものに手をつけるのは悪手です。
十分にCost(コスト)とDelivery(納期)が確保されているかどうかを確認・調整した上、
Quality(品質)を上げる作業に手を付けるようにしましょう。
私がメンタープランのラインナップにあげているのは、Java/Spring Boot , Salesforceですが、
何れもREST、MVCを意識した作りになっています。
各種フレームワークは、MVCモデルを意識した構成で作られていることが多いので、
この概念を理解し、触って体験しておけば、他のプログラミング言語のMVCモデルのフレームワークも
すぐに馴染むことができます。
従いまして、初学者の方でWebアプリケーションのエンジニアを目指している方は、
ぜひ、MVCモデルの概念を把握することをおすすめします。
もし、習得にあたって障壁にぶち当たることがあれば、メンターである私の出番ですので、
是非ともご相談ください。
最後に、公式リファレンスも以下に紹介しておきます。
CakePHP4.x Strawbetty Cookbook
Ruby on Railsドキュメント
Spring Boot