1

我正在尝试在一个简单的 Web 应用程序中使用监督控制器模式。我的视图是一个注册表单,有许多字段供用户输入(想想几页 gmail 注册)此数据将填充一个实体,并在用户提交时处理此实体。

例如:

public interface ICreateAccountView
{
    string firstname { get; set; }
    string lastname { get; set; }
    string loginName { get; set; }
    string password { get; set; }
    string addressLine1 { get; set; }
    string addressLine2 { get; set; }
    string postCode { get; set; }
    IList<string> preferences { get; set; }
    .... Many others omitted
}

我对此有几个问题:

1)当我有这么多属性时,我应该在我的视图中拥有这样的属性吗?我不应该只使用我将填充的实体对象吗?

2) 由于此数据最终将填充实体对象,我的控制器是否应该持有对该对象的引用?

任何帮助或建议将不胜感激。

4

1 回答 1

1

没有理由在视图上没有一个方法,您的控制器可以调用该方法以实体的形式返回所有视图数据。只要控制器要求您提供数据,您就可以了!

现在对于那里的纯粹主义者。他们希望您不要从视图中返回“实体”。而是尝试返回一个视图对象(或 dto/数据传输对象),这样视图就真的没有中间层/域对象的概念。这使视图与您的业务层更加分离。

取决于这个应用程序有多大,以及你想去的图案兔子洞有多深。

于 2009-07-07T21:47:57.650 回答