3
我正在构建一个将数据公开为XML的REST API。我在我的领域层中有一大堆领域类,这些领域类旨在供API后面的服务层和我们将提供给客户的客户端API使用。 (客户可以选择直接与REST API交互,但客户端API简化了这些事情)。我想让我的域类清除任何数据持久性逻辑,但是我试图弄清楚域类是否可以实现IXmlSerializable来帮助简化序列化通过并从中检索的数据的过程API。我开始认为我会保持域类没有任何序列化逻辑,而是用序列化行为来修饰它们,例如,将域对象包装在处理序列化的对象中。我是否让事情比他们需要的更复杂?有关我应该如何处理这个问题的想法?谢谢!域对象是否应该实现IXmlSerializable?
你的序列化图层会是什么样子?你会有方法接受DTO并以XML格式输出吗?或者你会采取一个流并序列化到它? – csano 2009-12-04 04:29:09
这取决于我需要什么。我倾向于遵循.NET中许多基于XML的API的模式,并接受一个“XmlWriter”作为目标。如果我发现调用代码从流中重复创建'XmlWriter',我会添加一个需要流的重载。如果我使用'XPathNavigator.AppendChild'创建'XmlWriter'找到调用代码,那么我会写一个接受'IXmlNavigable'的重载,等等。 – 2009-12-04 04:35:02
谢谢,John,我很感激。 – csano 2009-12-04 04:49:19