驚いてほしくて書いてんのさ:)
一番腹が立つのは他人の書いた DI 使ったコードの改造だが、それはいったん置いといて。

「やりたいこと(設計)」ってのはなんだか変でないかい?
どこまでを「設計」と呼ぶかの解釈の違いかもしれないけど、
自分はコードに近いところの設計=クラスの関連とインターフェイス
あたりのレイヤで考えてるが、それって「やりたいこと」じゃないっしょ?
設計ってのは大雑把に言えば役割と責務を決めることっしょ?

さて、「インターフェイスと実装を分けて作るようになることが期待できる」
という意見と解釈したが、それをインターフェイス設計のできない人間に対して
適用しても、いっそうぐちゃぐちゃになると思いませんかい?

インターフェイス設計ができる人間は DI なんぞ使わなくても必要な箇所は
インターフェイスにして不要な箇所は static メソッドなり単体の entity 的な
クラスにするなりできるのよ。

injection に相当する部分は、*それが本当に実装クラス名を埋め込むとまずい
場合に限り*、外部パラメタで実装クラスを切り替える factory なりを経由させるでしょうて。

どんなクラスにも interface が作られている状況って、最近の OO 信仰者にはうれしいんだろうか?