在這裏,你需要使用工廠方法和適配器模式的組合。 Factory方法將創建您的本機API類的對象(例如Google等),並且適配器將爲您提供一個通用接口。所以基本上你做到以下幾點:
- 您的API操作創建一個適配器接口(列出所有你所需要的操作)
- 實現對所有不同的API適配器接口,通過參考 第三方API對象(你需要爲每個API不同類)
- 在你的工廠方法,你回到你的適配器接口類型。
- 現在,你可以消耗對象從工廠方法調用代碼返回。
下面是示例代碼。此是用C#。您可以對以下代碼進行一些修改。
public interface IApiAdapter
{
void Read(int id);
void Write(string data);
}
public class GoogleApiAdapter : IApiAdapter
{
private GoogleApiClass _googleApiClass;
public void Read(int id)
{
//some additional work
//call google api
_googleApiClass.readSomeData(id);
}
public void Write(string data)
{
//some additional work
//call google api
_googleApiClass.writeSomeData(data);
}
}
public class FacebookApiAdapter : IApiAdapter
{
private FacebookApiClass _facebookApiClass;
public void Read(int id)
{
//some additional work
//call facebook api
_facebookApiClass.readSomeData(id);
}
public void Write(string data)
{
//some additional work
//call facebook api
_facebookApiClass.writeSomeData(data);
}
}
public class ApiFactory
{
public static IApiAdapter GetApiFactory(string type)
{
if(type == "google")
{
return new GoogleApiAdapter();
}
if(type == "facebook")
{
return new FacebookApiAdapter();
}
}
}
//calling code
IApiAdapter api = ApiFactory.GetApiFactory("google");
api.Read(2);
截至目前,它是單獨的類沒有任何關聯。是的,所有的類都應該以相同的方式使用。一旦我得到客戶,我可以爲特定的客戶調用特定的方法。 –