Page Controller
An object that handles a request for a specific page or action on a Web site.
-
Webエクスペリエンスのほとんどは静的ページ
- 1パス1ファイルの関連
-
動的ページになると、複雑な関連になりうる
- 【補】同じパス(=URI)でもパラメータによって異なるレスポンスを返したりする
- 【補】異なるパスでも同じレスポンスを返したりするかも
- 動的ページの場合でも、1パス - 1リクエスト処理ファイルだと単純明快
-
Page Controllerでは、1つの論理的なページにつき1つのInput Controllerを据える
- 【補】Input ControllerがMVCにおけるCにあたる
-
Controllerがページ自体というケースもある
-
Server Page
- 【補】ASPとか
- VとCとを兼ねるやつ
-
How It Works
-
スクリプト、またはServer Pageとして実装される
-
Server Page
- 1ファイルでTemplate Viewとの組み合わせ
-
モジュールを適切に構築するのが困難
- 単純なケースなら良い
-
リクエストの情報をもとにビューを選択する、となるとscriptletでは辛い
- helperに委譲することで軽減
-
Script
- リクエスト(URLとか)から情報を抽出する
- モデルを構築して制御を移す
- 返却するビューを選択肢、制御を移す
-
-
必ずしも1つのクラスで構築する必要はない
- helperに切り出すことで、重複を共通化する
-
Server Page/Scriptどちらかに統一する必要はない
- コントローラロジックがほぼ/全くない場合はServer Pageが好適
- コントローラロジックがある場合はScriptが好適
-
統一することで得られる一貫性というメリットは、次のことで帳消しになってしまう
- Server Pageに統一: scriptletまみれ
- Scriptに統一: ほぼ何もしないスクリプトまみれ
When to Use It
- Front Controllerとのトレードオフ
-
コントローラロジックの複雑性による
- 複雑な場合: Front Controllerが好適
- 単純な場合: Page Controllerが好適
英語
-
laden
- 満載