• 追加された行はこの色です。
  • 削除された行はこの色です。
RIGHT:[[:t/ページ]] [[:t/実装]]

[[ページ]]を実装するには?
→ [[X/Page]]
→ [[X/Page>X#g329967c]]

:やること|
トリガー(前提条件)・事前条件 → 事後条件

----

***特定のページが必要になったとき [#p95d2ccd]
- 復帰
永続化してあったインスタンスから
- 生成(コンストラクター)
指定されたNotationTextをページ/要素に変換して、自身のドキュメントとする。
ファイルアップロード時でもファイルを表すページのテンプレートはある。それをページ/要素に変換。

***特定のページが必要なくなったとき [#l8393b3c]
- 永続化

***ページが更新されたとき [#z604cc75]
- 版の生成
指定されたページの新しい版を生成。
指定されたページのページ/履歴が1件増える。

***いつでも [#l83fc117]
- ページ/属性公開
- ページ/属性変更
※権限判定はユースケースで。
※継承処理は使う側で。

***データアクセスに応じる [#w4a06625]
- セレクターの要素探索に付き合う
- 要素呼び出し
- 要素が返した結果を自分の成果であるかのように返す
- データコンテキストに合う形式で返す

***データアクセス [#b2c849b7]
- データコンテキストに合わせて変換・出力
-- データコンテキストの型はHTMLやJSONなど。
-- ページ/型が「ページ/要素」の場合に有効。それ以外の場合は変換しようがない。
-- ページ/型はMIMEタイプ。変換後もMIMEタイプで表せる形式。データコンテキストの型は変換後の型なのでこれもMIMEタイプ。データコンテキストの型はX独自のキャメルケース形式でも可。Markdown/Creole/WikiCreole/... 大文字小文字の区別なしで。
-- 自身が含んでいるページ/要素も同じデータコンテキスト指定で呼び出す
-- 副作用は要素によってあるかも知れない
-- 変換結果を返す


----

#contents