我能找到的大多数示例(如果不是全部的话)(Google + Mark Seemann的.NET依赖注入)使用依赖注入显示了如何注入服务对象。也就是说,提供服务的对象。例如:一个AudioPlayer,一个TaxCalculator,一个RandomQuoteGenerator等,注入这些类型的依赖关系似乎很清楚,对我来说是完全合理的。我不清楚的是如何处理GUI对象,因为它们不是服务对象。
例如,我正在使用一个GUI框架,需要我手动编写我的UI代码。我有一个包含工具栏的MainGui,工具栏上有几个ToolbarButtons。因此,层次结构是这样的:
MainGui
ToolBar
ToolbarButton
etc.
所有这些GUI类都是从一些基类继承而来的。 GUI对象是否适合注射?如果是,我如何处理我的工具栏依赖于5个不同的ToolbarButtons的情况(唯一区别于它们的Text属性)?