gpt4 book ai didi

c# - REST API 中对象的设计模式?

转载 作者:行者123 更新时间:2023-11-30 12:33:31 24 4
gpt4 key购买 nike

我已经使用 WCF Web API Preview 构建了一个 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; }
}

现在,在服务器端扩展此类的好方法是什么?
我想使用子类是行不通的。代表们?
居然有两个不同版本的类?一个用于客户端,一个用于服务器?

其他人做什么?

最佳答案

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

将此类纯粹作为数据传输对象保留是一个更清晰的模型,其唯一职责是帮助将有线格式桥接到对象并使用映射器,例如 AutoMapper将数据从 DTO 映射到真实的域对象。真正的域对象完全在您的控制之下,您可以愉快地重构它,而不会威胁到您的服务消费者的级联效应

关于c# - REST API 中对象的设计模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9189767/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com