ひがやすを技術ブログ

電通国際情報サービスのプログラマ

Field Injectionはなぜ必要なのか

そもそもオブジェクト指向における、カプセル化の殻を壊してまでインジェクションするってことは余程のことだと思うけど、そこまでしてフィールドインジェクションが可能になっている理由はなんなのだろう。

DIのためだけに、setterメソッドを追加するのは、無駄な場合もあるためですね。DIコンテナしかそのプロパティの値を設定しないなら、Field Injectionはありだと思います。
値を設定するときに、何らかの処理を追加したくなったら、setterメソッドを追加することで使う側には影響なく振る舞いの追加ができますから。
Seasar2は、テストについてもS2Unit等でフルサポートしますから、テスト時にモックオブジェクトをセットしたい場合でも、Field Injectionを使うことができます。

Seasar2で英語の勉強

JavaOne SF 2006で私がしゃべるセッションのプレゼン資料、日英スクリプト、ネイティブがスクリプトを読み上げたものをmp3で録音して公開しました。よければ、英語の勉強に役立ててください。
http://www.seasar.org/javaonesf2006/
Seasar2という身近な(?)素材なので、英語も興味を持って聞けるのではないでしょうか。
スクリプトは、ネイティブに録音してもらった後に若干修正しているので、微妙に録音内容と異なる部分があります。
私は、このプレゼン資料を朝と夜に1回ずつリハーサル。夜にスクリプトの読み上げをシャドーイング。通勤時間に2回、スクリプトの読み上げをサイレントシャドーイングしています。