Inversion of Control

改めてマーチン・ファウラーの記事(日本語訳)を読み返す。
いまいちIoCの有効性が見えてなかった自分ですが、
なんとなく分かってきました。
今まで、インタフェースベースのプログラミングをしてなかったので、
余計にその恩恵というものが見えてなかったようです。
自分の中で、インタフェースを実装するクラスが一つしかない場合まで
インタフェースを定義するのはどうだろう?と疑問を抱いていました。
しかも外に公開するものでもないし。
それでもインタフェースを定義するべきなのかな?
それと、最近テストファーストという考えがありますが、
実務でテストドリヴンな開発をやったことがないため、
IoCを用いることで得られるテストのし易さというものも理解できませんでした。
だから余計にIoCというものが何故いいのか分かりませんでした。


これからはもっと設計について考えてみようと思いました。