匿名对象方案与实体对象方案对比

Posted srckeeper

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了匿名对象方案与实体对象方案对比相关的知识,希望对你有一定的参考价值。

匿名对象的方案虽然达到了我们想要的效果,但对比实体对象方案,又有什么不同呢,下面我们来对比一下:

  1. 数据传递性、复用性:
    -匿名对象:基本上属于一次性数据,无法整体传递,无法复用。
    +实体对象:传递性,复用性良好。
  2. 对重构、方法提取的支持:
    -匿名对象:由于数据无法传递,写出的代码很难进行重构,我就普写过几百行代码而无法提取子方法重构的方法。
    +实体对象:数据对代码重构、方法提取支持良好。
  3. 对缓存命中率的影响:
    -匿名对象:数据与具体的业务场景(参数、条件等)密切关联,缓存命中率可能会较低。
    +实体对象:数据易复用,缓存命中率可能会较高。
  4. 不同层次的数据模型自动映射转换(AutoMapper等)
    -匿名对象:属性不定,类型不定,难以转换。
    +实体对象:轻松实现映射转换。
  5. 数据利用率:
    +匿名对象:数据按需获取,利用率高,基本无浪费。
    -实体对象:数据都是整体取出,利用率低,浪费大。
  6. 程序性能影响:
    +匿名对象:容易写出运行高效的代码,性能良好。
    -实体对象:容易写出性能低下的代码。

  通过上面的对比,希望能对方案的选择提供一些参考,至于如何取舍,最终选择什么方案,只能自己根据业务的特点来权衡了,合适用哪个就用哪个。 

以上是关于匿名对象方案与实体对象方案对比的主要内容,如果未能解决你的问题,请参考以下文章

将实体类/匿名对象转换为SqlParameter列表

将实体类匿名对象转换为SqlParameter列表

c#和JS字符串format实现(可实现JSON对象,c#实体对象,C#匿名对象,替换)

day5 面向对象

匿名对象与内部类

当类型为dynamic的视图模型遭遇匿名对象