【问题标题】:Best practice when working with web services that return objects?使用返回对象的 Web 服务时的最佳实践?
【发布时间】:2010-04-01 10:01:39
【问题描述】:

我目前正在使用返回对象(例如文件列表)的 Web 服务。文件数组。

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

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

【问题讨论】:

  • 为此创建一个类非常简单;它是数据传输对象 (DTO),只是属性、getter 和 setter。

标签: asp.net web-services


【解决方案1】:

在正确封装实现细节方面存在微妙的平衡。太少的封装是维护的噩梦,因为任何区域的微小变化都会破坏应用程序。太多的层完全是另一种令人头疼的维护问题。

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

      只要您的客户知道如何反序列化,返回一个类就可以了。如果它是真正的 Web 服务,您无法控制对话的两端,则更常见的是从 XML 请求和响应流的模式开始。这将客户端与 Web 服务进一步分离,并允许任何可以通过 HTTP 发送 XML 并使用 XML 响应公平游戏的客户端。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-06-16
        • 1970-01-01
        • 2011-08-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-07-26
        相关资源
        最近更新 更多