今回はAPIモードでrails newしたのでMVCでいうところのViewが存在しません。
...知ってて当然のようにいきなりMVCという単語が出てきた。
というわけで今回の各駅停車、MVCって何ぞ。
MVC・・・機能を「Model」「View」「Controller」の三つの役割に分離して実装し、それらが連携して処理を進める方式。ソフトウェアの設計モデルの一つ。
■ Model >>> データベースの管理
Controllerからの指示でデータベースから必要なデータを取得しControllerへ返す。データのチェック、更新、削除もお仕事に含まれる。
■ View >>> 最終的な出力・描画
Controllerからの指示でブラウザ表示するのに必要なhtmlを生成しControllerへ返す。表示に必要なデータはControllerから得る。
■ Controller >>> ModelとViewへの指示役
ModelとViewに作業を指示するディレクターみたいな立ち位置。
...なんかエンジニアとデザイナー(コーダー)とディレクターみたいな関係。それぞれの役割を明確にして作業管理しやすくしましょう、というのがMVCの目的。ロジックをModelではなくControllerに書くことも出来るけど、それはエンジニアの仕事をディレクターが片手間にやるようなカンジで非効率。通称「Fat Controller」ですって。グダグダな制作進行にならないようにControllerがしっかりModelとViewに適材適所な仕事を割り振りしましょう。
参考資料:
【Rails】 MVCフレームワークを初心者向けに丁寧に解説!
MVC(Model-View-Controller)とは - IT用語辞典 e-Words
■ 余談
Fat Controllerでgoogleしてみたらトップハム・ハット卿がhitした。