私は始めたばかりで、追加の引数Typhoon
を使用してコンストラクターを書き続けるのが面倒であることに気付きました。したがって、私のものをシングルトンassembly
にするのは魅力的です。TyphoonAssembly
しかし、どの例でもそれが行われたことはまだありません。また、アセンブリを提供するためにコンストラクターまたはプロパティの注入が使用されている例も見ています。ですから、それに対する訴訟があるかもしれません - それはちょっと悪いように見えますが、どれほど悪いかはわかりません.
だから私の質問は:
- 私
TyphoonAssembly
をシングルトンにすることに反対する強力なケースはありますか? - フレームワーク内でそうする方法はありますか、それともいつもの方法で行うべきですか?
編集:私は始めたばかりですが、ApplicationAssembly
次のように使用される単一の(今のところ)があるとしましょう:
- (NavigationController *)customDefaultNavigationController {
return [TyphoonDefinition withClass:[NavigationController class]
configuration:^(TyphoonDefinition *definition) {
[definition useInitializer:@selector(init)];
}];
}
- (id<IRootWireframe>)rootWireframe {
return [TyphoonDefinition withClass:[RootWireframe class]
configuration:^(TyphoonDefinition *definition) {
[definition useInitializer:@selector(init)];
}];
}
特筆すべきことは何もありませんが、要点は、まだ "Hello World" レベルの機能を維持している新しいアプリケーションに、このアセンブリのクライアントが少なくとも 3 つまたは 4 つあるということです。
今後、アセンブリ パラメーターを使用してイニシャライザーを記述する必要がある場合は、それを行いますがApplicationAssembly
、シングルトンを作成する (またはオブジェクトにスコープを設定する) だけで済む場合は、そうします。