SeasarでDIコンテナ、AOP
Seaser2というDIコンテナを使ったフレームワークを
次プロジェクトで使うことになり、ただいま勉強中です。
DIコンテナはインターフェイスと設定ファイルをうまく使って、
オブジェクト間の依存関係を最小限にするというようなものだと理解してみた。
なんちゅ〜か、ディープなオブジェクト指向の世界へようこそって感じですね。
まだ完全に理解できてませんが、これを使うことでのメリットはすごいの一言ですよ。
- 再利用性が高い (規約に従った部品化を行うことによる低依存性の実現、POJOが基本)
- 変更が容易になる (機能ごとの依存性が低いため、変更箇所を最小限に抑えられる。設定ファイルの変更だけでビルドせずに、部品の差し替え、変更が可能になる。)
- テストが容易 (部品ごとのテストがAOPを使った機能やJUnitを使うことで簡単にできる。WebアプリケーションやDBまわりのテストも容易)
- 設定がしやすい (設定ファイルの読み込みが簡単)
- S2JSFやS2Daoを使うことで、Webアプリケーションのクライアントデータ周りのデータ変換やDB周りのデータ変換、各種データの初期化などのコードを書く場所が減り、ビジネスロジックに集中することができる。
- 開発の分業が楽 (機能の切り分け、部品化設計をしっかりと行えば、モックオブジェクトを使った部品ごとの作成が容易にできる。)
などなどです。
調査時間が少ないので睡眠時間削ってやってますが、面白いので楽しいですねぇ。
来週までに使えるようになる予定。