我是序列化的新手。我有一个愚蠢的问题:为什么 BinaryFormatter 被命名为 BinaryFormatter 而不是 BinarySerializer?
更具体地说,如果它正在进行序列化,为什么不将其称为 BinarySerializer ?除了数据序列化之外,它还能做什么,它应该被称为格式化程序?
我是序列化的新手。我有一个愚蠢的问题:为什么 BinaryFormatter 被命名为 BinaryFormatter 而不是 BinarySerializer?
更具体地说,如果它正在进行序列化,为什么不将其称为 BinarySerializer ?除了数据序列化之外,它还能做什么,它应该被称为格式化程序?
为什么不呢?为什么会有BinarySerializer
更好的名字?
我不参与 API 设计团队的审议,但我怀疑它被称为“格式化程序”,因为它格式化从字节流中检索或推送的数据。在序列化和反序列化数据时,您可以使用格式化程序作为帮助对象。
另请注意,有一个SoapFormatter
类遵循相同的命名方案,并且这两个类都定义在System.Runtime.Serialization.Formatters
namespace中。
我个人同意你的看法——它至少会与XmlSerializer
, 和(后来的)DataContractSerializer
,JavaScriptSerializer
等更一致。也许他们觉得它不同,因为它用于远程处理,但最终它所做的是序列化和反序列化。
然而:命名东西是困难的。也许就这么简单。