代码之家  ›  专栏  ›  技术社区  ›  Brad Heller

ASP.NETMVC模型模式:什么最有效?

  •  1
  • Brad Heller  · 技术社区  · 15 年前

    我做了几个项目ASP.NETMVC还有一个话题,我在任何地方都没有看到过。我想听听其他人对此的看法。

    设计模型的最佳实践是什么?在过去,我采取了两种方法:模型应该表示不同的实体,还是应该具有特定于域(特定于子域)的实体?特定视图?)模型?真正的区别是,表示不同实体的模型在多个视图中使用,其中特定于域的模型绑定到特定视图。

    考虑以下情况:我的应用程序中有一个用户实体。我应该在Register视图、Show视图、Index视图等中使用一个单独的UserModel,还是更喜欢RegisterUserModel、ShowUserModel、ListUserModel等。?

    我以前用过这两种模式。领域特定模型的另一面是,通过属性应用的任何验证逻辑在视图之间都可能不同。缺点是你违反了DRY,你的模型变得毛茸茸的——即使你把它们分成了名称空间。相反,使用单一的模型到实体模式会导致过度通用的验证数据(通常与错误消息有关),但是您有一个很好的、紧密的模型层,模型和实体之间的转换要容易得多(代码更少)。

    他更喜欢什么方法?还是有一种方法我都没考虑过?

    3 回复  |  直到 15 年前
        1
  •  4
  •   jordanbtucker    15 年前

    我喜欢创建数据模型,然后根据需要创建特定的视图模型。

    The Case for ViewModel

    The ViewModel Pattern

        2
  •  2
  •   dotariel    15 年前

    当我想到领域模型时,我也会想到业务逻辑。我试图让MVC中的M引用有助于应用程序表示方面的模型,而不是表示我的真实对象的实体(域对象)。

        3
  •  1
  •   Velocoder    15 年前

    RegisterUserModel.cs RegisterUserView.aspx . 不要传递整个用户对象。轻装上阵,不要打破单一责任原则。