- (instancetype) myTyphoonAssembledInstance {
MyAssembly *assembly = [[MyAssembly new] activate];
//Decide what instance to return
//Ask Typhoon to return it.
}
- (SwordFactory *)swordFactory
{
return [TyphoonDefinition withClass:[SwordFactory class]];
}
- (Sword *)blueSword
{
return [TyphoonDefinition withFactory:[self swordFactory]
selector:@selector(swordWithSpecification:)
parameters:^(TyphoonMethod *factoryMethod) {
[factoryMethod injectParameterWith:@"blue"];
}];
}
I thought I will be able to use this. But I did not dig into it yet.