我已经使用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; }
}
现在,在服务器端扩展此类的好方法是什么?
我想使用子类是行不通的。
代表们?
实际上有两个不同版本的课程?一个用于客户端,一个用于服务器?
其他人做了什么?
答案 0 :(得分:2)
向此POCO类添加额外功能的问题是您将其转换为域对象。现在,这个域对象的性质将受到这样一个事实的限制:从本质上讲,这个类充当了操作接口的定义。更改此类的详细信息可能会破坏客户端。
将此类纯粹保留为数据传输对象是一个更清晰的模型,其单一职责是帮助将线格式桥接到对象并使用映射器(如AutoMapper)映射来自DTO的数据到一个真正的域对象。真正的域对象完全在您的控制之下,您可以愉快地重构它而不会威胁到服务使用者的级联效果