Autofac工厂方法

时间:2014-04-30 06:56:05

标签: autofac

在容器中,我注册了一个FooFactory,另一个需要Foo的组件。

class FooFactory {
  FooFactory(Bar bar) { ... }
  Foo CreateFoo() { ... }
}

class FooConsumer {
  FooConsumer(Foo foo) { ... }
}

builder.RegisterType<FooProvider>();
builder.RegisterType<FooConsumer>();

Autofac是否有更好的方法来连接对CreateFoo的调用,而不是在注册期间调用c.Resolve,或者这看起来是否正确?

builder.Register(c => c.Resolve<FooFactory>().CreateFoo());

1 个答案:

答案 0 :(得分:3)

这种模式没有错;它实际上很常见。