Jon*_*s T 8 asp.net-mvc c#-4.0
我一直在思考我们在asp.net MVC中创建的视图模型对象的概念.我们的目的是实例化它并将其从控制器传递到视图并查看读取它并显示数据.
那些视图模型通常通过构造函数实例化.我们不需要初始化成员,我们可能不需要重新定义/覆盖无参数构造函数,我们不需要继承功能.
那么,为什么我们不使用struct类型作为视图模型而不是类.它将提高性能.
Lev*_*evi 17
你会把"它会提升性能"作为一个给定,但你真的对此有所了解吗?在非常特殊的情况下,结构比类更好.我推广简单,但主要是:
还有其他人,但这只是我的头脑.即便如此,我们谈论的往往是微不足道的性能提升.因为在微秒内微不足道.
即使您可以保证您的视图模型不可变且很小,其他条件也不成立.假设每个请求有一个视图模型,您的Web服务器将不会每秒处理数百万个请求.此外,MVC框架在紧密循环中不能与这些一起使用,并且不包含针对此特定结构优化的代码路径.因此,MVC框架最终会对您的值类型执行大量的装箱/拆箱操作.
底线 - 不要对您的解决方案进行微观优化或过度设计.课程很好.在进行优化时,请务必进行衡量,以确保您将时间投入到有价值的冒险中.当有更大的鱼要炒时,不要为了琐碎而烦恼.