2010-12-14 6 views
22

モバイルデバイス(アンドロイド)での開発に最適なIOCコンテナを決定する際に助けが必要です。 私が必要とするのは、あまりオーバーヘッドのない基本IOCです。 Springは非常に優れたフレームワークですが、モバイルデバイスにとっては過度のものです。アンドロイド/モバイルデバイス向けのベストIOCコンテナ

答えて

26

Roboguiceを試してください。私はRobolectricと私のプロジェクトでTDDを使い始めています。

これまでのところは良い:)

+0

モバイルデバイス(アンドロイド)用の軽量iocフレームワークはありますか?ロボグイスがいいね。私はそれを試み、あなたに私の経験を知らせます。 – dmay

+0

@dmayだから、どう思いますか? –

+0

残念ながら私は別のプロジェクトに移りましたが、さらに探検する機会はありませんでした。 – dmay

15

またAndroidAnnotations :)を試してみてください。

RoboGuiceに触発されましたが、バインディングと注入はコンパイル時に実行され、パフォーマンスのコストを回避します。

また、イベントバインディング(クリックイベントを受け取るメソッドに注釈を付ける)と簡略化されたスレッドモデル(UIスレッド/バックグラウンドスレッドで確実に実行するためのメソッドに注釈を付ける)も提供します。

もちろん、AndroidAnnotationsはRoboGuiceと組み合わせることができます。

+1

AndroidAnnotationsとRoboGuiceを組み合わせる理由は何ですか? – Macarse

+0

AndroidAnnotationsにはRoboGuiceが提供していない機能があり、その逆もあります。 RoboGuiceは、特にたくさんの豆を注入する場合、perfに影響を与えます。しかし、それはまだ素晴らしいフレームワークであり、場合によっては両方を使いたいかもしれません。 –

+0

AndroidAnnotationsで設定されたクラスのインスタンスにモックを注入する単体テストの例は見つかりません。これを行う方法はありますか(特定のテストやTestCaseクラスの特定の型に対して注入するインスタンスをオーバーライドするなど)? – apollodude217

16

RoboGuiceよりも軽いDaggerもあります。

+1

Dagger 2はGoogleが推奨する唯一のDIです。 [Google Dagger 2](http://google.github.io/dagger/)を参照してください。 –

0

Spring MEもあります。これはこれまでで最も軽いIOCコンテナでなければなりません。実際には、実行時の依存性はまったくありませんが、Spring XML設定を使用してオブジェクトをワイヤリングできます。スライドはhereです。

関連する問題