Soy nuevo en Ninject (y DI en general).Creación de objetos de post-inicialización con ninject
que entender cómo los módulos de kernel se cargue, y el código que he escrito hasta ahora tiende a tener una sola línea:
myKernel.Get<MyApp>()
que construye todo lo que necesito de los enlaces en mi módulo. Si hay un requisito para nuevas instancias después de la inicialización, estas son atendidas por las fábricas que yo ato para la inicialización. Hasta ahora, las fábricas han estado libres de dependencias ninject, simplemente reviviendo objetos a pedido.
Ahora he llegado a un punto que tengo que pensar en la creación de objetos después de la inicialización y mi propio patrón de la fábrica no es así enfriamiento más. Esto sería para soportar una interfaz pub/sub para clientes (remotos). Con cada nueva conexión a mi servidor, me gustaría crear nuevas instancias IClient
de acuerdo con un conjunto de enlaces definidos en un módulo de ninject. ¿Esto significa que la fábrica que paso en la inicialización debe tener su propio kernel (o una referencia al kernel principal)? ¿Dónde aparecería CommonServiceLocator en esto? ¿Es necesario CSL?
Antes de viajar demasiado lejos en los callejones sin salida, pensé que sería mejor preguntar aquí cómo otros podrían abordar este problema.
Gracias Remo. Entonces, si lo entiendo correctamente, en 2.3 no necesita preocuparse por crear una implementación concreta de la interfaz de fábrica. La implementación real se emite de alguna manera por ninject cuando se enlaza usando una llamada 'ToFactory()'? – spender
Sí, se implementó automáticamente mediante el proxy dinámico –
Nice. Gracias por tu ayuda. Me aclara muchas preguntas en mi cabeza. – spender