gpt4 book ai didi

asp.net-mvc - Asp .Net MVC Viewmodel 应该是类还是结构?

转载 作者:行者123 更新时间:2023-12-04 05:27:02 24 4
gpt4 key购买 nike

我刚刚在思考我们在asp.net MVC 中创建的 View 模型对象的概念。我们的目的是实例化它并将它从 Controller 传递到 View 和 View 读取它并显示数据。

这些 View 模型通常通过构造函数实例化。我们不需要初始化成员,我们可能不需要重新定义/覆盖无参数构造函数,也不需要那里的继承功能。

那么,为什么我们不为我们的 View 模型使用结构类型而不是类。它将提高性能。

最佳答案

您认为“它会提高性能”是理所当然的,但是您真的确定吗?在非常特殊的情况下,结构比类表现得更好。为了简单起见,我进行了概括,但场景主要是:

  • 它们是不可变的。
  • 它们很小,例如通常不超过 3 - 4 个字段。
  • 您在极短的时间内生成了大量(通常是数百万或更多)它们。
  • 您正在紧密循环中与他们合作。
  • 它们经过的代码路径针对这些特定结构进行了优化,并且不执行装箱/拆箱操作。

  • 还有其他人,但这只是我的头顶。即便如此,我们谈论的往往是微不足道的性能提升。以微秒为单位。

    即使你可以保证你的 View 模型是不可变的和微小的,其他条件也不成立。假设每个请求有一个 View 模型,您的 Web 服务器不会每秒处理数百万个请求。此外,MVC 框架不能在紧密循环中使用这些,并且不包含针对此特定结构优化的代码路径。结果,MVC 框架将对您的值类型执行大量装箱/拆箱操作。

    底线 - 不要微优化或过度设计您的解决方案。上课就好了。在优化方面, 始终测量 以确保您将时间投入到有值(value)的冒险中。当有更大的鱼要煎的时候,不要为琐事烦恼。

    关于asp.net-mvc - Asp .Net MVC Viewmodel 应该是类还是结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4709863/

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