依存性注入の使用に関するすべてではないにしても、ほとんどの例 (Google + Mark Seemann の .NET での依存性注入) は、サービス オブジェクトを注入する方法を示しています。つまり、サービスを提供するオブジェクトです。例: AudioPlayer、TaxCalculator、RandomQuoteGenerator など、これらの種類の依存関係を注入することは明確であり、私には完全に理にかなっています。GUI オブジェクトはサービス オブジェクトではないため、GUI オブジェクトをどうするかは明確ではありません。
たとえば、UI を手動でコーディングする必要がある GUI フレームワークを使用しています。いくつかの ToolbarButtons を持つツールバーを含む MainGui があります。したがって、階層は次のようになります。
MainGui
ToolBar
ToolbarButton
etc.
これらの GUI クラスはすべて、いくつかの基本クラスから継承されています。GUI オブジェクトはインジェクションの候補ですか? はいの場合、ツールバーが 5 つの異なる ToolbarButtons に依存している状況にどのように対処すればよいですか (それらを区別しているのは Text プロパティだけです)。