Я хочу использовать Ninject в своем приложении Windows, и я хочу знать, есть ли лучшие практики, которые я могу сделать; стратегии, чтобы найти баланс между производительностью и обслуживанием.
Проблема с приложением Windows и веб-приложением заключается в том, что в веб-приложении есть область, которую легко определить, это контекст, но с приложением Windows у вас нет области, которая бы легко использовалась формой после формы.
Например, у меня есть сервис, который запрашивает базу данных. Этот сервис имеет конструктор и получил UnitOfWork. С помощью Ninject я могу создать свойство, помеченное как внедряемое, но если я сделаю это, каждый раз, когда я буду создавать эту службу, будет создаваться новое соединение с базой данных.
Именно по этой причине я должен вручную создать свои службы, чтобы контролировать количество создаваемых соединений, и нельзя использовать инжектор зависимости.
Я обнаружил, что вы можете вызывать метод Inject после создания службы для зависимостей внедрения, но я уверен, что могу использовать более эффективную стратегию.