gpt4 book ai didi

c# - View 模型应该包含静态功能方法吗?

转载 作者:太空狗 更新时间:2023-10-29 21:21:53 25 4
gpt4 key购买 nike

如果我有一个 Viewmodel 旨在为 View 服务 -

将一堆静态方法添加到 View 模型中是一个好习惯吗- 通过使用数据库中的数据获取项目列表(viewmodel 对象)?- 使用 View 模型中的属性更新数据库?

我正在使用 .NET MVC,感觉我的 View 模型被一堆静态函数和更新方法弄得乱七八糟。

为 View 创建 View 模型的主要原因是 View 开始包含许多功能,必须从各处获取信息。因此,我决定创建一个 View 模型,通过一次调用从一个地方获取信息。

我是否遵循了良好的编码模式?还是我在黑暗中拍摄?

最佳答案

Is it a good practice to add bunch of static methods to the viewmodel

,您的 View 模型应该只是一个POCO ,包含尽可能少(如果不是零)的业务逻辑。 View 模型的唯一工作是将数据从 Controller 移动到 View 。

通常:

  • Controller 应该从某处获取模型实例
  • 这可以被 View 直接使用或者如果多个模型需要需要组合或额外信息(不在模型本身中)然后可以创建 View 模型。
  • 理想情况下, View 模型应该在 Controller 之外创建(保持 Controller 工作清洁),这可以简单地通过使用 factory pattern

如果您阅读 wikipedia page对于 MVC 模式。您会注意到它专为数据呈现而不是业务逻辑而设计:

Model–view–controller (MVC) is a software architectural pattern for implementing user interfaces.

所以实际上没有任何 MVC 对象(模型、 View 或 Controller )应该包含业务逻辑。 MVC 模式的工作是呈现数据(句号)


综上所述,将简单的业务逻辑放入 Controller 是很常见的。但是,一旦站点变得更加复杂,就应该避免这种情况,以免创建 god object

关于c# - View 模型应该包含静态功能方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33260486/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com