0

SWInject を使用してアプリの依存関係を維持し、Coordinator パターンを使用してロジックと依存関係を管理しています。

SWInject は、アプリのさまざまな部分に複数のオブザーバーがある集中型プッシュ通知フレームワークと組み合わせて使用​​できますか?

通常、私は Singleton クラスでそれを行いますが、それを行うと、依存性注入パターンを使用する目的が無効になるようです。

4

1 に答える 1

2

一般に、DI は「依存関係を使用する方法」と「依存関係を取得する方法」を分離しようとします。ほとんどの場合、後者はオブジェクトの知識の一部であってはなりません。

あなたの場合、notification centerオブジェクトをブロードキャスト/受信するために使用するオブジェクトがシングルトンであるという事実は、特定のオブジェクトの実装方法とは無関係である必要があります。

DI アプローチは、それを依存関係として渡し、他の誰かが同じインスタンスを使用している可能性があることを心配させることです。確かに、バックグラウンドではまだシングルトンである可能性がありますが、必要に応じて (テストなどで)、それを使用するオブジェクトについて何も変更せずに、この事実を変更できます。

于 2016-09-06T07:14:36.890 に答える