Estoy trabajando en una aplicación que consta de muchos módulos, y algunos tienen dependencias en otros módulos. Decidí usar Autofac para resolver dependencias circulares y mejorar la arquitectura en general.autofac: uso correcto en la aplicación de varios módulos
Para configurar autofac, utilizo el método xml (http://code.google.com/p/autofac/wiki/XmlConfiguration).
Ahora no estoy seguro de cómo implementar Autofac. ¿Debo tener una referencia a autofac en cada módulo de mi aplicación? Lo que significa que tengo que registrar todos los componentes cada vez que quiero resolver una dependencia ...
ContainerBuilder builder = new ContainerBuilder();
builder.RegisterModule(new ConfigurationSettingsReader("autofac", configPath));
IContainer container = builder.Build();
IWhatever w = container.Resolve<IWhatever>();
¿Es esta la manera de hacerlo?
¿O es mejor ajustar Autofac en un Módulo separado? Con este enfoque tendría que registrar los módulos de una sola vez (cuando se inicia la aplicación) y apenas podía usar el Autofac envuelta para resolver dependencias ...
IWhatever w = container.Resolve<IWhatever>();
espero alguien me puede decir la mejor manera de utilizar Autofac.
gracias!
La mejor manera de utilizar Autofac (o cualquier otro contenedor DI) es para referenciarlo tan raramente como sea necesario. [Esta respuesta] (http://stackoverflow.com/a/1410738/644812) podría ser útil. –
gracias, eso es lo que estoy pensando también. Simplemente no estoy seguro de cuál es la mejor práctica para usar Autofac ... – Fabian