手前味噌ではございますが、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