Google製のライブラリが集まっていいるGitHubリポジトリがありますが.
DIフレームワークが新しく登場しています.
DISCLAIMER: This is not an official Google product. Google's production dependency injection frameworks are Dagger and Guice.
Dagger や Guice があるので, このフレームワークは「非公式」ということですが, 速さの面で気持ちいい啖呵を切っているようにも見えます.
Challenge
If one found a DI framework faster, let me know. I will drop the title as long as it is proved.
「これより速いの見つけたら教えてね♥」
Group
fastesttiger@gmail.com
と, メールアドレスもこだわっています.
サンプルを見た感じアノテーションを利用した Dagger とよく似た雰囲気になっておりますが, それぞれのスコープに対してひとつのインジェクターを生成するしくみのようです.
public class PseudoActivity {
@Inject
Foo foo;
@Inject
@BarAnnotation
Bar bar;
@Inject
@BarAnnotation
Bar bar2;
@Inject
Baz baz;
@Inject
Shboom shboom;
void onCreate(DaggerApplicationComponent applicationComponent) {
DaggerActivityComponent activityComponent =
new DaggerActivityComponent.Builder().daggerApplicationComponent(applicationComponent).build();
activityComponent.injectPseudoActivity(this);
}
@Override
public String toString() {
return "PseudoActivity[foo: " + foo + ", bar: " + bar + " bar2: " + bar2 + ", baz: " + baz
+ " shboom: " + shboom + "]";
}
}
こんなかんじで最近はGoogleから実験的なライブラリが公開されるようになってきていますが, どれも微妙な雰囲気はあります.
Include the "not an official Google product" disclaimer by gk5885 · Pull Request #3 · google/tiger
これ, 今後どうなっていくのでしょうかー.