C#windows形式和统一ioc

时间:2013-05-07 07:48:24

标签: c# unity-container

我想了解有关c#,windows窗体和统一IoC框架的架构决策的建议。将表格保持在统一的上下文中是一个好主意吗?或者只应将服务层和下层保留在其中?并且在这里像是“依赖于”统一的东西(类似于春天的东西取决于当豆子彼此依赖时)。提前谢谢。

1 个答案:

答案 0 :(得分:2)

通常,您应该尝试让DI框架为您构建完整的对象图。

但是,对于Windows窗体,Form类应该有一个默认构造函数,因为平台会为您创建这些类型。这意味着您将不得不求助于其他机制来构建这些类。

这同样适用于Windows表单。与ASP.NET Web窗体相比,Windows Forms does not require forms to have a default constructor。因此,优良作法是让容器构建包含表单的完整对象图,因为这样可以验证整个对象图,并防止表示层依赖于DI框架。这意味着您应该在表单中使用构造函数注入:

public MainForm : Form
{
    private readonly ILogger logger;

    public MainForm(ILogger Logger)
    {
        this.logger = logger;
    }
}