我正在寻找使用MVC3创建我的第一个ASP.NET MVC应用程序。
我使用的项目模板包括一些用于注册用户,登录和更新忘记密码的模型。
我希望用户可以针对我自己的数据存储(可能使用Entity Framework)和使用Google OAuth进行身份验证。
我认为我想要一个包含一些标准属性的User模型类和一些处理“本地”身份验证和OAuth调用的业务逻辑,但项目模板让我很困惑。
我应该为登录,注册等不同的操作创建多个视图模型,然后使用控制器实例化和调用我的模型来执行业务逻辑,还是应该将我的用户模型用于所有不同的操作? / p>
由于 本
答案 0 :(得分:4)
我应该创建多个 用于不同操作的视图模型 登录,注册等,然后使用 控制器实例化和 调用我的模型来执行 业务逻辑或我应该使用我的用户 所有不同行为的模型?
查看每个视图的模型。这是规则。每个视图甚至可能有2个视图模型(一个用于在GET中呈现数据,一个用于在POST操作中从视图接收数据)。在创建视图模型时不要害羞。你肯定不应该为所有不同的行为使用用户模型,这将是灾难性的。该模型应由您的服务层使用。用户模型将由此图层操纵,并且永远不会传递给视图。
您还可以签出AutoMapper以查看模型类和视图模型之间的映射。这是一个很好的工具,特别是当视图模型的数量开始增加时,它会派上用场。