IoCと自動配線について気になるのは、作成されたオブジェクトに対するIoCの使いやすさです。
システム全体で使用される静的なUtilsクラスがあるとしましょう。IoCとDIを使用することにしたとき、Utilsを非静的に簡単に変更し、すべてのコンポーネントがそのインスタンスを受け取るようにしました。
ただし、自動配線は、ブートストラップ中に作成されたコンポーネント、実行時またはユーザー操作の応答として作成されたオブジェクト、およびUtilsを使用するオブジェクトに対してのみ適切に機能し、自動配線は機能しません。代わりに、実行時に作成されるすべてのオブジェクトのすべてのインスタンスにUtilsのインスタンスを手動で渡す必要があります。
私が見ることができる唯一の方法は、IoCコンテナを渡すというアンチパターンを使用することですが、これは絶対にやりたくないことです。
別の方法はありますか?または、Utilsをすべてのインスタンスとクラスに手動で渡すことを余儀なくされていますか?
注:これは設計の問題ではありません。もちろん、この比喩的なUtilsの使用をさまざまな方法で最小限に抑えることができますが、多くの場合、それは避けられません。