Chain of Responsibilityで Edit

記法に分類されるものも含めてChain of Responsibility。

ページ内の全てのページ/要素を呼ぶことになるが、高速化のため特定のパラメーター1つをクエリーに含めるようにしておいて、それらを事前判定に使う。そこで見込みありと判定された機能を呼んで本判定をしてもらう。

ページに記述された分だけなので対策不要。全て呼べばいい。

トリガー指定 Edit

イベント/フック

  • 1ページごとに
  • ページ処理前に、処理後に
  • 特定モジュールの処理前に、処理後に

…など。

→トリガーはオブジェクト生成時、1ページ内全オブジェクト完成後。全要素全トリガーを使用。選択できない。何もしないことは可能。
ページの範囲を越えるトリガーはなし。複数ページを1つにして使いたいときは埋め込みで。

実行順序 Edit

実行順序は記述位置による。ネストの浅いレベル→深いレベル→浅いレベル。

ページではなくURLクエリーから呼ばれたとき Edit

一時的なページを作って、そこに記述されているかのように処理。ページ上に記述されているときと処理統一。

実行順序 Edit

機能の実行順をURLクエリーに書かれている順ということにする。同じトリガーを使う機能が複数ある場合。

ページの要素ではないが、呼ばれるコードはページ/要素のもの。仮のページに記述されているようなもの。

連鎖(Chain) Edit

ネストできない代わりにチェイン。一度に呼ばれた要素を全てネストしているかのようにつなぐ。引数と戻り値がつながる。

データの改ざん Edit

前の要素の出力は次の要素に入力される。クライアントからの入力も書き換え可能。次の要素には書き換え後が渡る。

問題は出力と入力のデータを統一すること。
文字列か、文字列の集約。HTMLで書かれたページの断片。

データコンテキストで。仮のページを使うことで、ページに記述されたのと同じ処理の仕方になる。ページコンテキストも生じる。