1

レガシー SDK を維持しています。SDK は、プラットフォームごとに異なる動作をします。静的変数を使用しており、次のような API 呼び出しの前に静的変数を作成する必要があります。

静的グローバル変数 (OLD CODE) の例:

SDKContext.init();
VideoManager manager = new VideoManager();
public void VideoManager#search() {
    SDKContext.search();
}

VideoManager のようなコンポーネントはいたるところにあります。私の直感では、代わりにローカル変数を使用する必要がありますが、確信が持てません。

ローカル変数(私の好みの方法):

SDKContext context = new SDKContext();
// Or even using singleton
SDKContext context = SDKContext.getInstance();
VideoManager manager = new VideoManager(context);
public void VideoManager#search() {
     context.search();
}

これら2つのアプローチの長所と短所は何ですか? あらゆる推奨事項/提案を歓迎します。

4

3 に答える 3

0

静的は単体テストを困難にします。

アプローチ 2 の方がはるかに優れています。IoC に対応しており、簡単にテストできます。

于 2013-10-24T08:41:16.577 に答える
0

いくつかの IoC コンテナーを試すことができます。私はあなたのために「シングルトン」を作ります、そしてそれらのいくつかは「自動配線」さえ持っています。

于 2013-10-24T13:07:28.230 に答える