【发布时间】:2010-09-18 17:14:18
【问题描述】:
我正在寻找一些关于使用哪种设计模式来解决我的问题的想法,无论语言如何。
我正在访问三个 API,它们具有不同的接口和功能,但都出于相同的目的,以统一的方式向我返回关于相同类型内容的信息——博客作者。
有些 API 完全符合我的要求,有些则需要 API + Screen Scraping,等等。
显而易见的选择似乎是适配器模式,但我想真正深入研究这个东西的设计,因此您的想法将不胜感激!
为了完全清楚,现在我设想每个 Web 服务都有一个类,它既可以做基本的 API 的事情,也可以做不太优雅的事情。我想它然后将统一的结果返回给它的适配器。我想适配器采用像 Search 这样的方法,然后将其路由到 API 中的适当方法,并返回结果,无论调用哪个服务,结果看起来都是一样的。
如果这听起来像是一项家庭作业,那就是——但这是我分配给自己的,目的是学习一些很酷的设计模式的东西。适配器对吗?还有其他好的选择吗?
提前致谢!
更新:虽然在我看来适配器和外观模式有很多相似之处,但 Paweł Dyda 在下面指出,我所描述的实际上是外观而不是适配器。我同意。假设随着时间的推移 API 的数量越来越多,有没有人认为有比 Facade 更好的选择?
再次感谢。
【问题讨论】:
标签: design-patterns api oop