最近は、クラスの依存関係を定義してコンストラクターで渡すことをあまり気にしていないことに気付きましたが、常に DI コンテナーを渡し、それをプライベート属性に保持しています。この方法では、クラスの依存関係が明確に定義されていないため、必要なときにコンテナーからすべてを取得します。
どういうわけか、このソリューションについては悪い印象を持っていますが (コンテナーへのアクセスによるオーバーヘッドは別として)、あまりにも多くの欠点を考えることはできません。依存関係の定義が緩いと、クラスの移植性が低下する可能性があるか、リファクタリング時に驚きが生じる可能性があります...?
これについてあなたはどう思いますか?