我正在构建一个与各种 3rd 方 API 交互的类库。我使用了外观模式来提供对复杂和令人困惑的调用的简化访问,并使用工厂模式来返回正确的实现。我现在正在尝试构建一个实现,但想不出一个优雅的设计。
我正在构建的实现需要构建一个 URL(我正在通过 URIBuilder 进行)。然后我需要“执行”该网址。然后我将 Xml 结果反序列化为一个类。
我计划使用 HttpClient 使用我构建的 URI 调用 api,但不确定如何构建类。我想到的选项是:
我的实现的基类,因此可以通过
base.InvokeURI(Uri myUri)
.一个分离类,因此它可以被多个实现使用
我也不确定反序列化应该放在哪里。