我是具有 (Windows) 系统管理员背景的 C# 编码器。我一直在研究各种服务框架,以便为各种基础设施组件(Windows 管理、硬件管理等)创建统一的 REST-API。我已经决定使用 ServiceStack 作为我的框架,但是对如何管理我的 DTO 有疑问。大多数时候,我的源数据来自非数据库对象,包括:
- 其他 Web 服务(通常基于 SOAP)。我通常通过“添加 Web 引用”来引入这些(大多数但不是全部是 asmx)。
- .NET 对象(通常是 WMI/WinRM/PowerShell [System.Management] 或 Active Directory [System.DirectoryServices])...
- 在某些不幸的情况下,由于调用命令(通过 ssh 或 cmd),我得到了原始文本输出。
在所有这些情况下,我都必须调用某种 Save() 方法来更新属性。此外,我可能想向 REST 服务公开一些非 CRUD 方法。通常我不需要源数据中的所有内容(例如,在 Web 服务数据的情况下,我只对打包特定代理类的某些属性和方法感兴趣)。我的理解是我的 DTO 应该是干净的并且没有任何依赖关系。由于我不相信我有一个可以使用的 ORM,我应该使用什么设计模式来将我的数据映射到 DTO?
抱歉,如果我在这里滥用任何术语...