くーすとGoyaとPage駆動と

風邪の症状はないが体が妙にだるい。そういえば、インフルエンザも流行ってるようなので、皆様お気をつけください……って何の話だっけ?

あぁ、そうだ。せっかく時間ができたので、つらつらと「higaさんによるダイコン時代の設計方法」を読んでいたのだ。

紆余曲折ありすぎて、最終的にどうなったのか実は良くわからなかったりするのだけれど

UI => Page => (Logic) => Dao => DB

ということで良いんだろうか。エンティティとロジック処理用データの間の変換はDao(SQL)がその役割を果たし、ロジック処理結果データとプレゼンテーション・データの間の変換はPage(S2Dxo)がその役割を果たすということなのかな。ようするにPageとDaoがそれぞれのグルーを果たすと。

そうだとすると、シンプルで良さげな感じ。

でも、そうするとTeeda Ajaxの仕様って微妙かも。Pageクラスから切り離されているのが気にくわんと言うか。Ajaxと言っても旧来のWebアプリではできないがリッチクライアントだと当たり前にできていた部分更新が可能になっただけだ。そう考えると、ViewがHTMLであろうが、Swingであろうが、Flexであろうが、Pageクラスで同じように処理できる方が良いのではなかろうか。

例えば、Ajaxの場合でも問い合わせる先を常にPageクラスとし、responseとしてPageクラスのgetterで得られる値を戻せば、Viewが何であろうとPageクラスの位置づけは同じになる。もちろん、この方法を取るとAjaxの利点はないわけだが、問い合わせる側でどのプロパティを更新/取得したいかを指定させれば問題はない。

# 実のところ、Teedaはサンプルを見た程度なので訳のわからないことを書いてるかもしれんが

そういえば、TeedaにしてもSeaser2にしてもpublic変数は一級市民扱いされていない気がするのだが、どうせ動的結合なのだからpublic変数にも暗黙でインジェクションしてくれてもいいんじゃなかろうか……としばらくClickを使っていて思った。って、なんだかわき道に逸れすぎだな。

まぁ、いいや。何となく何かが見えてきたする。次はマジカとワークフローについて調べてみることにしよう。