山下寛人オフィシャルブログ

オイシックス株式会社 執行役員 システム本部長 山下寛人の公式ブログです。

DIについて

先日Springについて書きましたが

DIについての私の意見。


疎結合にするのは結構なことです。

DIにするとパーツを組み合わせてシステムを作る

ような世界に近くなるように思います。

またDBアクセス部分をモックに取り替えて

JUnitでテストしやすくなるというのも

メリットあるかなと思います。


しかしそのメリットとトレードオフでデメリットも

あります。

一番はやたらとインターフェースを作らないといけなくなる

こと。

作るのも手間だしソースが追いにくくなります。

そこまでして疎結合にしたいと思うときがありません。


私の意見としては、デメリットなければいいのに

ということです。


ではどうすればいいか?

XDocletというものがありました。

JavaDocコメントをソースに入れておくと

それを元にソースやXMLを自動生成してくれるという

ものです。

Java5から、これをもとにアノテーションという仕組みが

言語仕様に取り入れられました。

その結果、EJBでもHibernateでもXMLの定義ファイルを

書かなくてもよくなりました。

これと同じように、DIも言語仕様に取り入れられれば

よいのです。

そうすれば自分も使うと思います。