Я использую StructureMap для внедрения зависимостей и хочу внедрить в него сеансы NHibernate.У меня есть следующий код:
private static Container _container { get; set; }
static MyClass()
{
_container = new Container(r =>
{
r.For<ISessionFactory>().Singleton()
.Use(NHibernate.GetSessionFactory());
r.For<ISession>().HybridHttpOrThreadLocalScoped()
.Use(_container.GetInstance<ISessionFactory>().OpenSession());
});
}
Однако я не могу не думать, что ссылка на _container изнутри инициализации _container кажется неудобной.Это приемлемая практика?Будет ли это иметь неприятные последствия в будущем?Есть ли способ лучше?Как вы обрабатываете зависимости, которые требуют создания другой зависимости, чтобы создать себя?