Send to your Kindle RIGHT:[[:t/ページ]] [[:t/実装]] [[ページ]]の責務と実装案。 [[X/Page>X#g329967c]]はクラス設計。 ---- #contents ** やること一覧 [#we682d12] いつ(トリガー)、何をするか。 :%%やること%%| %%トリガー(前提条件)・事前条件 → 事後条件%% %%→事前条件/事後条件は実装時に。%% ***特定のページが必要になったとき [#p95d2ccd] - 復帰 永続化してあったインスタンスから - 生成(コンストラクター) 指定されたNotationTextをページ/要素に変換して、自身のドキュメントとする。 ファイルアップロード時でもファイルを表すページのテンプレートはある。それをページ/要素に変換。 ページ/名前とページタイトルはNotationTextから決定。 ***特定のページが必要なくなったとき [#l8393b3c] - 永続化 ***更新を指示されたとき [#z604cc75] - 版の生成 指定されたページの新しい版を生成。 指定されたページのページ/履歴が1件増える。 ***いつでも [#l83fc117] - ページ/属性・ページ/裏・ページ/権限領域の内部名公開・変更 属性領域の名前だけ。値の参照は領域にデータアクセスしてもらう。 属性/継承を行なうのは呼び出した側で。 ※いずれの継承処理も使う側で行なう。 ※権限照合はユースケースで行なう。 ***参照されたとき・データアクセスに応じるとき [#w4a06625] - ''セレクターの要素探索に付き合う'' - 自身が持つ要素を呼び出す -- 要素呼び出し -- 要素が勝手に振る舞う -- 要素が返した結果を自分の成果であるかのように返す - データコンテキストに合わせて変換・出力 データコンテキストの型はHTMLやJSONなど。 ページ/型が「ページ/要素」の場合に有効。それ以外の場合は変換しようがない。 ページ/型はMIMEタイプ。変換後もMIMEタイプで表せる形式。データコンテキストの型は変換後の型なのでこれもMIMEタイプ。データコンテキストの型はX独自のキャメルケース形式でも可。Markdown/Creole/WikiCreole/... 大文字小文字の区別なしで。 自身が含んでいるページ/要素も同じデータコンテキスト指定で呼び出す。 副作用は要素によってあるかも知れない。 変換結果を返す。 RIGHT:[[:t/ページ]] [[:t/実装]] [[ページ]]の責務と実装案。 [[X/Page>X#g329967c]]はクラス設計。 ---- #contents ** やること一覧 [#we682d12] いつ(トリガー)、何をするか。 :%%やること%%| %%トリガー(前提条件)・事前条件 → 事後条件%% %%→事前条件/事後条件は実装時に。%% ***特定のページが必要になったとき [#p95d2ccd] - 復帰 永続化してあったインスタンスから - 生成(コンストラクター) 指定されたNotationTextをページ/要素に変換して、自身のドキュメントとする。 ファイルアップロード時でもファイルを表すページのテンプレートはある。それをページ/要素に変換。 ページ/名前とページタイトルはNotationTextから決定。 ***特定のページが必要なくなったとき [#l8393b3c] - 永続化 ***更新を指示されたとき [#z604cc75] - 版の生成 指定されたページの新しい版を生成。 指定されたページのページ/履歴が1件増える。 ***いつでも [#l83fc117] - ページ/属性・ページ/裏・ページ/権限領域の内部名公開・変更 属性領域の名前だけ。値の参照は領域にデータアクセスしてもらう。 属性/継承を行なうのは呼び出した側で。 ※いずれの継承処理も使う側で行なう。 ※権限照合はユースケースで行なう。 ***参照されたとき・データアクセスに応じるとき [#w4a06625] - ''セレクターの要素探索に付き合う'' - 自身が持つ要素を呼び出す -- 要素呼び出し -- 要素が勝手に振る舞う -- 要素が返した結果を自分の成果であるかのように返す - データコンテキストに合わせて変換・出力 データコンテキストの型はHTMLやJSONなど。 ページ/型が「ページ/要素」の場合に有効。それ以外の場合は変換しようがない。 ページ/型はMIMEタイプ。変換後もMIMEタイプで表せる形式。データコンテキストの型は変換後の型なのでこれもMIMEタイプ。データコンテキストの型はX独自のキャメルケース形式でも可。Markdown/Creole/WikiCreole/... 大文字小文字の区別なしで。 自身が含んでいるページ/要素も同じデータコンテキスト指定で呼び出す。 副作用は要素によってあるかも知れない。 変換結果を返す。