【发布时间】:2014-09-23 09:11:17
【问题描述】:
我正在开发具有 WCF REST API 且低于某些 DAL 的应用程序。一切都是用 C# 编写的。
所有 REST 方法都是 GET,但其中许多具有我解析并映射到列表对象的通用字符串参数(以及其他参数)。效果很好。
当涉及到 Dto 对象的映射时,我想使用一些设计模式来根据映射的 REST 参数实例化正确的 Dto。不确定是否有可能,因为我有那个通用字符串参数(参数名称不会一直相同)?
另外,根据创建的 Dto 类型,我想选择合适的 DB 方法来调用,我猜是这个的命令设计模式?
感谢您的帮助, 如果需要,我可以解释更多。
【问题讨论】:
-
DAL是Service层当前引用的类库
-
generic string parameter是过滤器和排序条件吗?另外,All REST methods are GET它们都是不改变 REST 应用程序资源状态的安全方法吗? -
@nikita 是的,是的。我不使用 ORM,所以过滤器是我手动处理的字符串参数
-
@user1073210 那你为什么不使用 OData?
-
@user1073210 如果您不想使用 ORM,那么您可以使用 WCF 数据服务附带的 ReflectionProvider。如果您不想使用 Odata,您可以从中获取查询语法并使用 Linq2Rest 库,该库使您能够将 Odata 查询转换为 LINQ 表达式。
标签: c# api design-patterns factory-pattern command-pattern