S2PresentationのSSRに向けて、考えている事をまとめて&少しずつ深めておく。
ちなみに、S2PresentationとS2Persistenceって、
字面似てるし、略してもS2PreとS2Perでソックリすぎるんで、
S2MVCとかS2ORMでよくね?
名前づけ重要、少しは考えれ > 俺
さて、
プレゼンテーションフレームワークの責務って、言ってしまえば
- メソッドコール
- バリデート
- コンバート
ぐらいしかないと思います。
もうちょっと付け加えても、
- ビューの表示
- 遷移(ディスパッチ)
- 値のバインド
ぐらい。
まずは、対象をこの辺りに絞って考えていきたいと思います。
で、最初に考えたいのが、バリデータ。
こないだ、いくつかのFWでバリデーション機能を整理してみたら
S2JSFのバリデーションは、かなり貧弱だったことに気付いてショックを受けました。
- 複数フィールドバリデーションが面倒(一応、S2AnywhereValidatorでカバー)
- 「複数項目のうち、いずれかが入力されていなければNG」を記述できない
- 押したボタンによるバリデーション切り替えができない(1.1系なら出来るらしい)
- クライアントサイドバリデーションができない
というわけで、
この辺りは、全て対応できるようにしたいですね。
後は、バリデーションをどこに記述するか。
私は画面にバリデーションがある方が好きなのですが
(なので、<p:validator>タグに賛成)
完璧なPOHPを求める人には不人気ですね。
ちょっと整理すると、
- HTML
- ○ : HTMLを見れば、バリデーションが分かる
- × : 複数画面に同じような記述をする場合が多い
- Pageクラス
- ○ : HTMLに余計なタグを埋め込まなくて良い
- × : 結局は複数画面に同じような記述をする
- Dto(ActionForm)
- 定義ファイル
- ○ : 仕様書から一気に生成できる
- × : 画面やPageクラスを見てもバリデーションが分からない(論理的に、距離が遠い)
というところ。
まぁHTMLに記述できれば良いじゃん、と思いますけどね。
完璧なPOHPを求める場合には、Mayaa風に、別ファイルに書ければ嬉しいのかも。
実際、一つ前のエントリーに書いたように、別ファイルにしたいこともあるし。
今は、とりとめもない感じですが
ひとまず、ここまで。