我正在开发WinForms应用,并且我需要在每种形式中都有一些对象,并且我不想在每种形式上都初始化每个对象,因此,我创建了一个基类:
public class FormBase : Form
{
#region Properties
public BusinessLogic.ChppManager ChppManager { get; protected set; }
public BusinessLogic.DatabaseManager DatabaseManager { get; protected set; }
public BusinessLogic.FileManager FileManager { get; protected set; }
public BusinessLogic.RegistryManager RegistryManager { get; protected set; }
#endregion Properties
}
然后,我将每个这些对象传递给构造函数。它有效,但是我想知道是否有一种更简单的(标准)方法来执行此操作,而无需在每个构造函数调用中传递这些参数。
提前致谢。
如果使用依赖注入容器,例如Unity
使用构造函数参数的构造函数解析,则可以将初始化的对象加载到Unity容器中,然后使用该Resolve<T>()
方法在运行时解析依赖关系,这意味着您不必将它们指定为参数您的代码-但是,它们仍然需要成为构造函数签名的一部分。
如果您将那些Unity解析的类抽象为接口,则意味着您可以在以后的阶段中更改基础实现,只要接口保持不变即可。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句