Genericsを使ったDaoの雛形

ジェネリックの部分があまりスマートなやり方じゃない気がしていますが、ひとまず以下のやり方だとOKです。


まずはジェネリックな共通親サービスクラスです。

上記の引用エントリの元エントリ → 続・SAStruts + S2JDBCのアーキテクチャ


SeasarSVNリポジトリ引用先のエントリで書いたものとほぼ同様の機能がS2本体に追加されていました。おおおっ。


 [CONTAINER-195]Genericsを使ったDaoの雛形を追加しました。
 http://svn.seasar.org/browse/?view=rev&root=s2container&revision=3595


ひがさんの手によって、ブラッシュアップされた AbstractService のソースコードを見て、流石だなぁ、なるほどなぁ、一味違うなぁ、と感心させられました。


フレームワーク側で AbstractService が用意されているので、アプリを作る側は、AbstractService を継承することでより簡単にS2JDBCを使うことができそうですね。


ps. うーむ、テストコードとはいえ、AbstractService2 というクラス名は微妙ですねぇ。例えば、AbstractServiceを S2AbstractService という名前に変更して、AbstractService という名前でS2AbstractService を継承するやり方をアプリケーション開発者に推奨する案はどうでしょう?アプリケーション開発者は、ネーミングに迷わないし、プロジェクトごとに工夫をこらして実装されるAbstractService クラスについての情報交換がやりやすくなるメリットがあります。