我开始使用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”功能级别。
展望未来,如果我需要编写带有程序集参数的初始化程序,我会这样做,但如果我可以只制作ApplicationAssembly
一个单例(或限定在一个对象中),那么我会的。