Controllerのデザインパターン
以前、「登録→確認→完了の画面遷移の憂鬱 - public static void main」を書いたのですが、最近になって取り上げた画面遷移にもデザインパターンとして名前がついていることを知りました。
よく知られているGoFデザインパターンではなく、PofEAA(エンタープライズ アプリケーションアーキテクチャパターン)と呼ばれるパターンです。
Page Controllerパターン
┌──────┐ ┌───┐ │ コントローラ │→│ビュー │ └──────┘ └───┘
コントローラとビューが1対1の関係にあるパターン。
場合によっては、コントローラとビューが一緒のときもある。
メリットとしては、構成がわかりやすくなることがあげられる。
PHPで一つのファイル内で、いろいろと処理を行っている場合はこれあたる。
あと、以前取り上げたリクナビCAFE 人脈BANKもこれにあたると思われる。
参考:
http://capsctrl.que.jp/kdmsnr/wiki/PofEAA/?PageController
Front Controllerパターン
┌───┐ ┌→│ビュー │ │ └───┘ ┌──────┐│ ┌───┐ │ コントローラ │┼→│ビュー │ └──────┘│ └───┘ │ ┌───┐ └→│ビュー │ └───┘
一つのコントローラに複数のビューがあるパターン。
よく似た処理を行うときに、ページごとにそれらの処理を書いていたら煩雑になるので、それを避けるために使う。
ファイル数が少なくなることもメリットとしてあげられる。
RailsやStrutsなどのフレームワークを使うと大体このパターンになっている。
参考:
http://capsctrl.que.jp/kdmsnr/wiki/PofEAA/?FrontController
終わりに
下記のサイトでPofEAAのデザインパターンについて取り上げられています。
http://capsctrl.que.jp/kdmsnr/wiki/PofEAA/
Active Recordパターンなどどこかで聞いたことがあるパターンが多数載っています。
邦訳されている本があるので、この機会に購入して読んでみたいと思います。
エンタープライズ アプリケーションアーキテクチャパターン (Object Oriented SELECTION)
- 作者: マーチン・ファウラー,長瀬嘉秀,株式会社テクノロジックアート
- 出版社/メーカー: 翔泳社
- 発売日: 2005/04/21
- メディア: 大型本
- 購入: 10人 クリック: 635回
- この商品を含むブログ (143件) を見る