1

我目前正在从事的项目必须使用 Web API,它以数字格式返回大量错误代码。

例如,如果我有一个错误“ACCESS_DENY”,它可能具有不同的含义,具体取决于使用它的上下文。对于每个错误,我都必须显示一条警告消息。这样,尽管错误代码相同,警报消息也可以针对不同情况而有所不同。它无法更改,因为这是 API 的问题。

但问题是 API 不断地被改变。我不想一直编辑我的代码。此外,我不考虑为每个错误类别编写异常类。可能的解决方案之一是将所有错误放在 XML 文件中并编写一个单例来处理它。但对我来说似乎不是很明确的决定。

我正在使用 Objective-C 语言和 iOS SDK 编写一个 iOS 项目。

解决这个问题的好方法是什么?

4

1 回答 1

1

我认为最好的方法是实践“合同优先”的开发。准备:

  • 用例特定的有效载荷输入/输出对象。
  • 可重用的域对象。
  • 将您的服务请求/响应的结果从特定于用例的有效负载对象映射到您的可重用域。. . 这样,如果它发生变化,您只需更改映射层。
  • 践行“严于律己,宽以待人”的信条,也就是“不泄露你的胆量”。. . 实际上,服务生产者比客户更适合坚持这一点。. .

这个想法是您提供一个随着时间推移相对稳定的 API,但可以自由更改 API 背后发生的事情。如果 API 发生变化,请考虑所有也会发生变化的服务订阅者。避免大的前期设计,但尽量让集成合同尽快充实。

于 2013-04-16T08:37:58.293 回答