2010-03-17 60 views
1

我目前正在使用返回对象的Web服务,例如文件列表,例如文件阵列。使用返回对象的Web服务时的最佳实践?

我想知道是否将其最佳实践直接绑定到我的前端代码(例如中继器/列表视图),还是首先将其解析为我自己的“文件类”列表,例如customFiles[]

如果Web服务发生变化,它会破坏我的前端代码,但是如果我创建自己的CustomFile类,那么我只需要在一个地方更改我的代码来解决问题,但它看起来像从Web服务中创建相同类的额外工作很多,我想知道这类工作的最佳实践。

+0

为此创建一个类非常简单;它是数据传输对象(DTO),只是属性,获取者和设置者。 – 2010-03-17 11:59:32

回答

2

正确封装实现细节时有一种微妙的平衡行为。太少的封装是维护的噩梦,因为任何区域的小改变都会破坏应用程序。太多的图层是完全不同的维护头痛。

在这种特殊情况下,我会在应用程序中创建一个小图层来封装Web服务调用。这将减轻您在应用程序和服务中的维护,因为它们会松散耦合。

1

这听起来像你已经回答了你自己的问题。最佳做法是根据您指出的原因创建您自己的自定义类,但这是重要的额外工作。

如果web服务不太可能发生变化,那么只需使用现有的类,但如果您需要迎合更改,则需要创建自己的类。

0

只要您的客户知道如何反序列化它,就可以返回一个类。如果它确实是一个Web服务,而您无法控制对话的两端,那么以XML请求和响应流的模式开始更为常见。它将客户端从Web服务中分​​离出来,允许任何可以通过HTTP发送XML并使用XML响应公平游戏的客户端。