目次
この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。
Ethnaがどんな動作をしているか追っていきましょう!
- クライアントはControllerクラスにアクセスする。
- アクセスされたControllerクラスは、クライアントのリクエストに対応する処理が定義されているAction Class(という名前の)オブジェクトを生成し、実行します。
- Action Classオブジェクトは処理(バリデーションやDBとのやりとり等)を実行し、結果をControllerオブジェクトに返します
- ControllerオブジェクトはAction Classが返した結果に対応するビューオブジェクトを生成します
- ビューオブジェクトはHTMLをクライアントに対して表示する
Model・View・Controllerとは?
MVCとは、処理の中核を担当する「Model」、表示・出力を担当する「View」、入力を受け取ってその内容に応じてViewとModelを制御する「Controller」のことで、
この3つの要素を用いてシステムを実装する方式をMVCモデルと呼びます。
Ethnaでは、このModelに含まれる箇所が、Actionclassになります。
といった感じで、それぞれの役割を切り離すことで、仕様変更の影響を受けにくいし、機能ごとの役割が明確化されるんですね。
画像があれば、理解しやすいと思うんですが、用意できなくてスミマセン、、…