何をするかを表すクラス。利用者はこれを指定することでシステムを操作する。
権限判定を行なうのはここ。独自の権限判定を要する場合はユースケースを分ける必要があるということ。
PukiWikiのcmdにあたるものがユースケース。MediaWikiでならaction.
PukiWikiのcmd/pluginにあたるものがユースケース。MediaWikiでならaction.
実装はX/Usecase[?]. MVCのControllerクラス。
実装はX/Usecase[?]. MVCのController(コントローラー)クラス。
自身にあったMVCのViewクラスを呼ぶ。
ビューを呼ぶのはGETリクエストのみ。他のサーバー側に副作用を及ぼすリクエストにはビューを呼ぶ代わりにリダイレクト。副作用を与えずにビューを呼ぶだけのユースケースにリダイレクトする。一般的なリロード対策。
ステップ †
1回のリクエストで終わらないユースケースは複数ステップで構成。ステップを進むか他のユースケースに移るかはリクエスト次第。ということはWikiに書かれているリンク次第。
ステップ分割 †
→ クライアント側だけで対処するので、ステップ分割はしない。REST APIアクセスと、クライアント側コードを返すケースだけ。
ユースケースとビュー †
ユースケースはMVCのController. ビューはMVCのView.
ビューを呼ばないユースケース(のステップ)と、ビューを呼ぶユースケース(のステップ)。どれをどういう順番で呼ぶかはリクエスト次第。
ユースケース+ステップで最上位のコードが決まる。
例えば、編集ステップ1…編集フォーム生成、編集ステップ2…投稿受け付け・ビューなし、編集ステップ3…閲覧ビューへリダイレクト。
何を返すかは別途指定 †
→ :i/選べるビュー[?]
ユースケースとビューを別々に指定。
ユースケースは編集のステップ2にページ名とNotationTextを付けて要求、レスポンスはリダイレクトで同じページの閲覧ビュー/編集ビューを要求するとか。それぞれにパラメーターが必要。ユースケース名/レスポンス名でも必要なパラメーターが異なる。
でも型を揃えるために、ビューは必ずユースケースから呼ぶこと。ビューを呼ぶだけのユースケース(のステップ)を作る。
指定できるのはユースケースと(ビューを呼ぶ)ユースケース→ユースケースだけということになる。
:/ユースケースで何を返すかは別途指定 †
いろいろなユースケース †
権限(錠)別になる。
一時的なページ †
ページ/要素の公開API(WebAPI)を呼び出す方法。ページ/要素を直接呼びたいときに使う。実装では一時的なページに特定の要素を配置して呼び出す。
†ページ/要素/埋め込み[?]
ページ/要素の公開API(WebAPI)を呼び出す方法。ページ/要素を直接呼びたいときに使う。実装では一時的なページに特定の要素を配置して呼び出す。→:埋め込み
一時的ページにページ/ページ/要素/ページ/属性を埋め込んで(これが永続的なページを読み込みに相当する)そのページをいずれかのビューに渡してレンダリング。
というユースケースがjot
一時的ページにページ/ページ/要素/ページ/属性を埋め込んで(これが永続的なページを読み込むことに相当する)そのページをいずれかのビューに渡してレンダリング。
というユースケースが→:jot
ページ/要素プラグインごとにユースケースを用意しなくていい。実装ではページに記述されたときと処理を統合できる。
:i/ユースケーススコープ †
:i/何に錠をかけるのか[?] †
:i/権限と拒否[?] †
:/何に錠をかけるのか †
:/権限と拒否 †
権限判定をするなら拒否判定も必要。
:/ユースケースチェイン †
URLクエリーをページ化するユースケース †
ページ/要素#m56b6643