PoEAA ch14 Page Controller

PoEAA勉強メモ

出典: 


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

    • 満載