インタフェースの多用

最近DIばやりしていてインタフェースを多用する事例を良くみますが、どうなんでしょうかね。
1インタフェース=1クラスになっていて、機能追加があったときにわざわざインタフェースと対応するクラス両方直すようなことになっていたりすることはないのかな。そもそも密なものを疎に扱っているようなケースも多いような。
フレームワーク基盤などでは確かに便利な面もあるけど、最初インタフェースを定義していたけどメリットがないのでインタフェースを取り除いたりしてしまうこともあるので、やはり闇雲に使うもんじゃないと感じています。
確かに単体テストを簡単にできるけど、そんな単純化されたテストでは不十分なケースもあり他のコンポーネントを含めた利用シナリオでの自動テストを考えるとメリットが小さい場合も多いじゃないかな。
そもそもよく事例にでてくるDAOのインタフェース化で他のデータベースに切り替えれますような話はORMで対応することで説得力がまったくないよね。

OCPやバリエーション保護でもどれぐらい良い抽象化ができるかがポイントで、それができていないインタフェースじゃ意味が無いことをもっと認識すべきじゃないのかな。