テクノロジー遊び

MVCモデル

尊敬する中島さんが「Active Record(O/Rマッピング)を使うことでMVCモデルだと勘違いしないようにね」と指摘しておられる。以下、彼のMVCモデルの引用。

  • Model:データベースなどに格納された生のデータを隠蔽し、抽象化された形のAPIを通じて他のモジュールからのアクセスをコントロールするモジュール。アプリケーション特有のルールやロジック(ビジネスロジック)を持ち、データの整合性(後述)に絶対の責任を持つ。
  • View:Modelが提供する抽象化されたデータを、どんな形で人間に見せるかを記述したモジュール。GUIアプリケーションの場合、使うGUI部品や画面上のレイアウトを指定するのがこのモジュール。
  • Controller:ViewとModelの間に位置して、ユーザーにどんな順序でデータを見せて行くとか、Viewを通したユーザーからの入力をModelへのAPIコールへとマッピングするのがこのモジュールの役目。

これくらいわかりやすく書いてくれると、わかるなぁ。コントローラーが重いコードをよく見るけど、modelにビジネスロジックを積むべきなんだ。CodeIgniterのmodelについての柔軟性は正しいように思える。

関連記事

  1. CodeIgniterでのFormデータの受け取り

  2. Mac環境でPHP使ってウェブアプリの開発

  3. Raspberry piで温度、湿度、気圧を測定してGoogle sp…

  4. 「プロトタイピング」に嗤う

  5. ウィルスMiraiがIOTデバイスにとり憑く?

  6. M5StickCを時計に

  7. Code Igniter Ver.3

  8. 人感センサー