谷本 心 in せろ部屋

はてなダイアリーから引っ越してきました

アプリケーションアーキテクチャ その2

前回の直後に書くつもりだったんだけど・・・。


前のアーキテクチャだと、わざわざ「Converter」なんて
JSFでやってくれているものを、実装してしまっています。
Strutsじゃあるまいし、なんで、こんなものを
導入する必要があるのでしょうか。


それは、一部の例外的な項目に対応するためです。
その例外的な項目とは、例えば、「年」「月」「日」に分かれた入力項目。


日付なんかは、テキストボックスにスラッシュ区切りで書かせれば良いじゃん、
って声もあるんですが、要件によっては、そうも行かないことがあります。


また、DtoでCalendar型で定義して、値を直接出し入れしても良いんですが、
Dtoのgetter/setterに処理を書くと、得てして問題が起こりがちです。


でもね、
そういう例外的な項目は、全てカスタムコンポーネントとして切り出して、
JSFのカスタムコンバータで変換できるようにさえしておけば、
「Converter」なんて自作する必要がなくなりますよね。


それが出来るのなら、こんなアーキテクチャにできるはずです。

これで、やっと「くーす」まで来ました (^^;


それを実現するための抽象コンポーネントをFW側に用意できれば
(例えば、抽象複数項目コンポーネントと、その抽象コンバータ)
ぐぐっと理想に近づくと思うんですけどね。


実現できるかどうか、また日を改めて検討してみます。