在编程过程中常常会遇到一个困扰:在一个大型系统中实体类太多,实体类不稳定经常变化,常常只需要其中几个属性,或者需要为其添加一个临时属性。这些问题都时常让人觉得编程麻烦。
那么我想说的是现在我们有一个更好的方案,弱类型粉墨登场(4.0以上)!!!有很多人会说这不靠谱吧?弱类型效率低,而且没有智能提示。不过我认为这种说法似是而非。首先说效率问题,强类型往往需要转化好几次才成目标对象,在数据呈现时绑定需要反射,这些不是性能损耗吗?大多数时候就算牺牲一点性能,如果能提高可扩展性和维护性是值得的。再说智能提示,确实很方便。但是作为一个实体你编程时不应该清楚里面包含哪些属性吗?在复杂的系统中,如物料,订单等都包含大量的属性,智能提示一大片,此时真的好用吗?我估计跟我一样看都看不过来!滚动条就让人心烦死了。
为什么我要推荐http:smartobject.codeplex.com呢?优势显而易见!
1.和其它弱类型一样扩展性良好
2.对json序列化和反序列化支持良好
3.提供了属性和索引访问方式(json.net反序列化为JObject只能是obj[prop].ToObject<T>(),这一步显然需要额外的开销运算,这样访问方式很不优雅)
4.反序列化之后的类型准确(你会发现json.net反序列化后类型不精确)
时间: 2024-10-11 13:45:05