He heredado un código que tiene una clase AuthenticationManager con todos los métodos estáticos.¿Cómo se refactorizan las clases estáticas para usar la inyección de dependencia?
Im introducción de DI y quería añadir un constructor que tomó una dependencia UserController
UserController _userController;
public AuthenticationManager(UserController userCont)
{
_userController = userCont;
}
Ahora estoy recibiendo el error de tiempo de compilación como se hace referencia a una variable no estática de un método estático. ¿Cuál sería su recomendación de mejores prácticas para que esto funcione con los cambios mínimos de esta clase y el código de llamada?
Estamos utilizando el SimpleServiceLocator como el contenedor IOC.
¿No sería momento de actualizar a [Inyector simple] (http://simpleinjector.codeplex.com)? Dejé de desarrollar el Localizador de servicios simples. – Steven
Gracias por la sugerencia: ¡no sabía que existía el inyector simple! ¿Simple Injector proporciona una funcionalidad adicional que responde a mi pregunta o simplemente es algo bueno que hacer? –
No responde a su pregunta, pero Simple Injector es más rápido, más limpio y tiene una compatibilidad mucho mejor para agregar extensiones (la mayoría de los escenarios avanzados se describen aquí [http://simpleinjector.codeplex.com/wikipage?title] = Escenarios avanzados & referenceTitle = Documentación) no son posibles de implementar con SSL). Puede leer sobre las principales diferencias SI y SSL [aquí] (http://www.cuttingedge.it/blogs/steven/pivot/entry.php?id=87). – Steven