我参与了几个与Facebook和Netflix等外部服务连接的项目。在这个时候,我用来访问这些API的大多数库(包括我自己编写的API)都有单一的方法,所以调用特定的API函数,但似乎总是调用某种基本方法来发出请求。事情是这样的:最佳外部REST API访问模式?
public class ExternalApi
{
public string SendMessage(criteria)
{
//do something unique to this method with criteria like
//like generating an xml statement or fql query
return SendRestRequest(modifiedCriteria);
}
public string GetData(criteria)
{
//do something unique to this method with criteria like
//like generating an xml statement or fql query
return SendRestRequest(modifiedCriteria);
}
public string SendRestRequest(modifiedCriteria)
{
//add global things to modifiedCriteria like authentication bits
//or wrapping the criteria in some xml or json shell
var request = new HttpRequest();
//make the request, return data
}
}
所以我的问题是有没有更好的模式或OO主要用在这里所以每个奇异的API调用方法我没有显式调用每次基本方法是什么?
就是我正在寻找某种调用拦截模式,如ASP.NET MVC框架和ActionResults?
编辑1:我不希望使用任何其他服务或图书馆一样WCF的功能。对于这些项目,我只使用这些API的1-5%的功能,并且倾向于为自己的代码推出这些东西。
相关链接,谢谢! – 2009-04-09 16:10:25