asp.net-mvc - tres - programacion en capas c# ejemplos
¿Cómo usar Autofac en una aplicación web de 3 capas(ASP.NET MVC)? (1)
Los ejemplos que puedo encontrar utilizan una arquitectura de dos capas, donde los controladores usan directamente las clases de repositorio en la capa de acceso a datos. Mira aquí o aquí .
¿Dónde registraría los componentes de la capa de acceso a los datos si tiene un servicio o capa de lógica de negocios que utiliza esos componentes? La capa de acceso a datos idealmente no debería referenciarse desde la capa de interfaz de usuario, ¿verdad? Entonces Application_Start no sería el lugar correcto para hacerlo.
¿Cuál sería una mejor manera?
¡Gracias!
Algo tiene que saber sobre qué implementaciones quieres usar. Normalmente hay 3 formas de lograr esto:
- en tiempo de compilación, que es lo que utiliza Autofac
- en tiempo de ejecución desde un archivo de configuración predefinido que Castle Windsor puede hacer
- en tiempo de ejecución con una configuartion dianámica
Con Autofac tienes algunas opciones
- Conecte todo junto en Application_Start
- Dele la responsabilidad a otro componente que implemente un patrón de fábrica y registre los componentes requeridos.
Para el n. ° 2 implementaría algo así como una interfaz IContainer para que su estructura IoC se acople vagamente con su sistema. Luego haga que sus implementaciones de acceso a datos utilicen esa interfaz para registrar los componentes requeridos.