【发布时间】:2012-03-29 00:27:21
【问题描述】:
我发现自己在许多测试中都实例化了相同的对象,因此我尝试使用Bread::Board 替换这个常量设置。大多数时候,我希望依赖项具有相同的配置。但有时我可能希望使用非默认参数创建一个实例。在创建容器实例后,我还希望能够更改它。例如我通常想要
my $c = Test::Container->new;
my $bar = $c->resolve( service => 'bar' ); # where bar depends on foo
但有时我真正需要的是类似的东西
my $bar = $c->resolve( service => 'bar', {
services => {
foo => { init => 'arg' }
}
}
以便在创建 bar 的实例时以不同方式初始化服务 foo。
【问题讨论】:
标签: perl inversion-of-control moose bread-board