REST API中对象的设计模式';s

本文关键字:设计模式 API 对象 REST | 更新日期: 2023-09-27 18:23:38

我已经用WCF Web API预览版构建了一个REST API,我想用传递给这个API的类构建一个库(只是为了让.Net开发人员的生活更轻松)。应该是简单的POCO类,没有太多功能。

但在接收方,对我来说,为这些类添加一些功能是有意义的。我有一个例子如下:

[WebInvoke(UriTemplate = "", Method = "POST")]
public Supertext.API.Order Create(Supertext.API.Order apiOrder)
{

这是一个示例POCO类:

public class Order
{
    public string Service { get; set; }
    public string OrderTitle { get; set; }
    public string Currency { get; set; }
}

现在,在服务器端扩展这个类的好方法是什么
我想使用子类是行不通的。代表
实际上有两种不同版本的课程?一个用于客户端,一个用于服务器?

其他人做什么?

REST API中对象的设计模式';s

向这个POCO类添加额外功能的问题是将它变成一个域对象。这个域对象的性质现在将受到这样一个事实的约束,即本质上,这个类充当操作中接口的定义。更改有关此类的详细信息可能会破坏客户端。

它是一个干净得多的模型,将这个类保持为一个数据传输对象,其唯一职责是帮助将有线格式桥接到对象,并使用诸如AutoMapper之类的映射器将数据从DTO映射到一个真实的域对象。真正的域对象完全在您的控制之下,您可以很高兴地对其进行重构,而不会对您的服务消费者

造成级联效应