嗨,你們新來的團結發展,我想補充3個SDK來團結整合我要添加多發的API,並創建一個單一的API
FACEBOOK SDK
Countly
調整
,並想使一個SDK,以便它可以爲u sed在未來 任何想法如何做到這一點?
嗨,你們新來的團結發展,我想補充3個SDK來團結整合我要添加多發的API,並創建一個單一的API
FACEBOOK SDK
Countly
調整
,並想使一個SDK,以便它可以爲u sed在未來 任何想法如何做到這一點?
我不確切地知道你想從這些模塊中使用哪些功能,但是如果他們幾乎都做同樣的事情,你可以定義一個通用接口並且有3個適配器使你的模塊適合這個接口。
interface ITrackingSdk
{
void StartSession(string[] identifiers);
...
}
class FacebookTrackingSdk : ITrackingSdk
{
private YourFacebookModule facebook;
public static bool IsSupported { get { return true; } }
public void StartSession(string[] identifiers)
{
facebook.InitializeBla(...);
}
...
}
class CountlyTrackingSdk : ITrackingSdk { ... }
class AdjustTrackingSdk : ITrackingSdk { ... }
然後,您有一個工廠可以創建ITrackingSdk實施的實例,具體取決於您當前平臺上的支持。
class TrackingSdkFactory
{
public ICollection<ITrackingSdk> CreateSupportedTrackingSdks()
{
List<ITrackingSdk> sdks = new List...
if (FacebookTrackingSdk.IsSupported)
sdks.Add(new FacebookTrackingSdk());
if (CountlyTrackingSdk.IsSupported)
sdks.Add(new CountlyTrackingSdk());
if (AdjustTrackingSdk.IsSupported)
sdks.Add(new AdjustTrackingSdk());
return sdks;
}
}
最後,你可能有某種控制器,上開始要求工廠提供支持的所有跟蹤的SDK,然後對其進行管理。
而且如果人們告訴你堅持自己的目標更低,就簡單地忽略它們。瞄準高和學習你需要到達那裏。
非常感謝你爲我提供了一個目標,我現在有點我必須去... thanx很多 –
「Hi guys m new to development」 - 也許嘗試一些不那麼雄心勃勃 - 'hello world!'是平常的出發地 –
有些時候你必須跑步才能走路 –
有時你必須瞭解你的侷限性。 .. –