我的一位团队成员决定在我们的一项服务上使用 autofac,因为我们想尝试一下,所以我们坚持使用它。
现在已经过去了一段时间,容器设置方法已经增长!它太大了,以至于我们遇到了问题。
拆分它并没有带来我们想要的结果。也许我们只是用错了。
所以我的问题是:我们如何管理容器设置?我们可以转储到 XML 中还是有任何其他最佳实践?
我的一位团队成员决定在我们的一项服务上使用 autofac,因为我们想尝试一下,所以我们坚持使用它。
现在已经过去了一段时间,容器设置方法已经增长!它太大了,以至于我们遇到了问题。
拆分它并没有带来我们想要的结果。也许我们只是用错了。
所以我的问题是:我们如何管理容器设置?我们可以转储到 XML 中还是有任何其他最佳实践?
使用 autofac 管理容器设置的方法有很多。
最常见的方法之一是使用 aModule
并将其注册到构建器。您可以通过这种方式拆分多组注册:
public class DALModule : Module
{
protected override void Load(ContainerBuilder builder)
{
builder.Register<SomeDataSomething>().As<IDataSomething>();
builder.Register<SomeOtherSomething( c => SomeOtherSomething.Create());
//and so on
}
}
然后通过代码或 XML 向构建器注册这些分解的模块。(一个简单的调用builder.RegisterModule( new DALModule())
就可以在这里完成)。请参阅 Wiki 页面上的Structuring with Modules。
或者,您可以只使用 XML 文件(或一起使用 XML 和模块)。请参阅有关XML 配置的 wiki 页面。