Создание объекта после инициализации с помощью ninject

Я новичок в Ninject (и DI в Общее).

Я понимаю, как ядро ​​загружает модули, и код, который я написал до сих пор, обычно состоит из одной строки:

myKernel.Get<MyApp>()

, которая конструирует все, что мне нужно, из привязок в моем модуле.Если есть потребность в пост-инициализации новых экземпляров, о них позаботятся фабрики, которые я привязываю для инициализации. До сих пор фабрики были свободны от каких-либо зависимостей между объектами, а просто обновляли объекты по запросу.

Теперь я дошел до того, что мне нужно подумать о создании объекта после инициализации, и мой собственный фабричный шаблон больше его не сокращает. Это будет для поддержки интерфейса pub / sub для (удаленных) клиентов. При каждом новом подключении к моему серверу я хотел бы создавать новые экземпляры IClient в соответствии с набором привязок, определенных в модуле ninject. Означает ли это, что фабрика, которую я передаю при инициализации, должна иметь собственное ядро ​​(или ссылку на основное ядро)? Где в этом файле CommonServiceLocator. Необходима ли CSL?

Прежде чем я захожу слишком далеко в тупик, я подумал, что было бы лучше спросить здесь, как другие могут подойти к этой проблеме.

5
задан spender 22 November 2011 в 13:15
поделиться