ぐらめぬ・ぜぷつぇんのはてダ(2007 to 2011)

2007年~2011年ごろまで はてなダイアリー に書いてた記事を引っ越してきました。

Dataクラス、最初の実装。

やっとSVNにコミットできた。長かった。
後はThreadのdaoを用意して、それが終われば実際のドメイン・・・というかトランザクション処理?相当のレイヤーを実装しよう。
トランザクションと言ってもrollbackができる訳じゃないけど。まぁ要するに、複数のdaoや物理ファイルにアクセスする場合とかをひとまとめにしたもの。それってMVCでのMに当たるんじゃないの?という話だけど・・・厳密に言うと若干変わってくるかも。

今回はXhwlayを使うにせよ、大まかにこんなレイヤー分けをするつもり。

ユーザー → Xhwlay → "Service Layer" → "Transaction Layer" → "Dao Layer"

横文字で格好良く書いてるけど、PofEA囓ったの使ってるだけなので。

"Service Layer"
POST/GETパラメータを、次の"Transaction Layer"の扱える形に変換する変換層。また、Transaction Layerからの戻りを、Viewで扱える形に変換し、XhwlayであればRendererにセットする変換層。要するにユーザー視点のデータ構造と、データ処理の為のデータ構造とを相互変換するレイヤー。
"Transaction Layer"
物理ファイルや一覧アクセス時のインデックスファイルを複数操作する処理をまとめる層。まあ、そのまま。また、発生したエラー・・・というか、警告というか、ユーザーに何かしらアラートを知らせたい場合に、それを上部のService Layerに伝える役目も果たす。ErrorStackを使うのかな。多分。

Transaction Layerが要するに、「一覧処理」「バージョン変更」「更新」など、まぁ、データ処理の一連のセット毎に作られる塊。
Service Layerについては、恐らく通常のHTMLのレンダラ以外にも、RSS用などで分ける可能性が高い。あるいは、将来APIを用意する場合に於いても、ServiceLayerを追加する格好になるだろう。つまりPresentation層(というのか?)毎に用意することになるだろう。