【发布时间】:2011-03-31 21:27:07
【问题描述】:
我遇到了一位程序员同事,正在讨论我需要编写的一种方法,在 OOP 方面,Dictionary<T,U> 是完美的。但是,我对在序列化过程中转换成的 XML 大小和结构表示担忧。所以我的朋友以非常直接的方式说我应该使用包含键和值的包装对象,并返回它们的列表而不是字典。是否有一些 .NET 对象不应该通过 SOAP 序列化,而应该创建更简单的自定义对象?
【问题讨论】:
我遇到了一位程序员同事,正在讨论我需要编写的一种方法,在 OOP 方面,Dictionary<T,U> 是完美的。但是,我对在序列化过程中转换成的 XML 大小和结构表示担忧。所以我的朋友以非常直接的方式说我应该使用包含键和值的包装对象,并返回它们的列表而不是字典。是否有一些 .NET 对象不应该通过 SOAP 序列化,而应该创建更简单的自定义对象?
【问题讨论】:
您需要担心的主要事情是:
尝试平衡数据大小与调用次数(最好将这两者都减少到最低限度)。
大多数人通常避免传递包含复杂逻辑的数据结构,例如字典。
序列化 List 没问题(它将被序列化为 IEnumerable)。
不要觉得你的数据对象必须看起来像你的实体对象——想想信息包而不是实体。当您在客户端收到数据时,您应该将其转换为实体对象。
【讨论】: