- 291 名前:デフォルトの名無しさん mailto:sage [2013/03/09(土) 01:29:45.60 ]
- DIを使うのって、短期的に楽をしたりするためより、変更に耐えやすいように作るためだと思うけど・・・・
(これも、スパゲッティなコードをメンテするより、長期的に楽になる) Springスレだったかにも書いたけど、最初は Dao の実装を1つしか作らなかったけど (Implが1つしかないのに、わざわざインターフェースを作っていた)、 途中で、一部のテーブルだけKVSに移行したので、MyBatisImplから別のDaoImplを作って移行した。 このとき、Daoのメソッドのインターフェースを変えないようにできたので、 修正はapplicationContext.xml だけ。コントローラやサービスクラスは変更無しで済んだ。 あとUT時は、サービスクラスにDaoをDIするときにモックにするとか。 こういうことを経験すると、よほど小さかったり使い捨て以外では、DIを使った方がいいと思っている。 DIをつかうための面倒なコストは、2回ぐらい変更があったら、回収できていると思う。
|

|