フレームワーク/Webアプリケーションの実装案。


構成 Edit

→:i/疑似言語とPerlでフレームワーク[?]

MVC Edit

変形MVC Edit

MVC.svg

docs.google.com

ユースケース Edit

ユースケースは機能拡張の中にもあるクラス。
プラグインの呼び出しに権限判定を付けるならユースケースクラスも必要。
ユースケース内で権限判定をするのでページを扱うということ。ページの扱いはフレームワーク/WikiEngineでやること
ユースケースフレームワーク/WikiEngineでもある。

:i/ユースケーススコープ Edit

Controller = Usecase
その中だけで有効なデータ。

:i/クラス別のセッションデータ

:i/ユースケースチェイン[?] Edit

†:i/選べるビュー[?]
リクエストとレスポンスの分離。
…を一般化して複数のユースケースを連鎖させられるように。

リクエスト Edit

全てURIで Edit

ページ名と要素部分はフレームワーク/WikiEngineでやること
それ以前のドメインとWikiの指定までを受け持つ。

リクエストをフレームワーク/WikiEngineに渡す Edit

認証 Edit

ログインログアウト Edit

オープン認証なんかはWikiEngineよりもこちらで。→WikiEngineは外からユーザーオブジェクトを受け入れることになる。
ログアウトも?

ユーザーオブジェクトの用意 Edit

認証済みユーザーオブジェクトを作る。作るのと破棄だけ。
内容はフレームワーク/WikiEngineが与える。内容がページになっているので。

:i/アカウントの有効期限 Edit

レスポンス Edit

ログイン→HTTP_REFERERにリダイレクト Edit

:i/フレームワーク/WikiEngineからの出力をレスポンスにする Edit

エラー対処 Edit

5xx Internal Errorの対処。

:i/リクエスト再送はフレームワークで Edit

利用者の情報損失を防ぐ。リトライ可能に。使いにくくなるのを防ぐ。

:i/エラーメッセージにクラス名 Edit

:i/エラーページにクエリーを Edit

HTTPのGETメソッドのときは…URLをデコードして表示するなら意味がある。

:i/出力の統合はどうやるか?[?] Edit

フレームワーク/WikiEngineから呼ばれて Edit

設定 Edit

:i/Webアプリの設定はWikiページに書けない Edit

ログ Edit

セッションの用意と保存 Edit

ページ/セッション[?]の基礎。ページ/要素が扱うのはページでできたセッション領域のほう。

ページ/要素その他が扱うセッションを用意。

最適化 Edit

メモ化 Edit

多段メモ化