我要说,由于许多原因,序列化逻辑不应成为POCO /数据类的一部分:
- 单一责任原则(数据类仅应定义数据模型,注意序列化逻辑)
- 您可能需要不同类型的序列化器(如您提到的json / xml等)
- 大多数时候,序列化实现是通用解决方案或外部程序包。即使您希望对某些对象进行自定义实现,您仍然可以拥有一个通用解决方案,可以将其扩展为特定的类,因此无需为每个类都拥有它。
- 您可以用属性装饰POCO类,以在特殊情况下指导序列化程序(例如控制属性,属性名称的序列,甚至控制复杂类型属性的客户序列化程序)
也有其他原因,但是有一些强烈的理由为什么您不应该将序列化逻辑放入POCO /数据模型中。



