Вопросы с тегом «dependency-injection»

Шаблон проектирования для уменьшения связи между компонентами путем динамического внедрения в зависимости компонента программного обеспечения, которые ему необходимы для функционирования.

11
Код модульного тестирования с зависимостью файловой системы
Я пишу компонент, который при наличии ZIP-файла должен: Разархивируйте файл. Найдите среди разархивированных файлов конкретную dll. Загрузите эту dll через отражение и вызовите для нее метод. Я хочу провести модульное тестирование этого компонента. Мне хочется написать код, который имеет дело непосредственно с файловой системой: void DoIt() { Zip.Unzip(theZipFile, "C:\\foo\\Unzipped"); System.IO.File …

7
Является ли ServiceLocator антишаблоном?
Недавно я прочитал статью Марка Симанна об анти-паттерне Service Locator. Автор указывает на две основные причины, почему ServiceLocator является анти-паттерном: Проблема использования API (с которой у меня все в порядке) Когда в классе используется локатор Service, очень трудно увидеть его зависимости, поскольку в большинстве случаев у класса есть только один …

2
InvalidOperationException: невозможно разрешить службу для типа «Microsoft.AspNetCore.Http.IHttpContextAccessor»
Я начал преобразовывать свой основной проект RC1 asp.net в RC2 и столкнулся с проблемой, которая сейчас IHttpContextAccessorне решена. Для простоты я создал новый проект ASP.NET RC2 с использованием шаблона Visual Studio ASP.NET Core Web Application (.Net Framework). Затем я добавил конструктор для HomeController, шаблон которого создал для меня. public HomeController(IHttpContextAccessor …

4
Что такое инъекция поля и как ее избежать?
Я читал в некоторых сообщениях о Spring MVC и портлетах, что внедрение полей не рекомендуется. Насколько я понимаю, инъекция поля - это когда вы вводите Bean @Autowiredследующим образом: @Component public class MyComponent { @Autowired private Cart cart; } Во время своего исследования я также читал о внедрении конструктора : @Component …

21
Должна ли инъекция зависимостей происходить за счет инкапсуляции?
Если я правильно понимаю, типичным механизмом внедрения зависимостей является внедрение либо через конструктор класса, либо через публичное свойство (член) класса. Это раскрывает внедряемую зависимость и нарушает принцип инкапсуляции ООП. Правильно ли я определил этот компромисс? Как вы справляетесь с этой проблемой? См. Также мой ответ на мой вопрос ниже.

4
Как внедрить зависимости в самопроизвольный объект в Spring?
Допустим, у нас есть класс: public class MyClass { @Autowired private AnotherBean anotherBean; } Затем мы создали объект этого класса (или какой-то другой фреймворк создал экземпляр этого класса). MyClass obj = new MyClass(); Можно ли по-прежнему внедрять зависимости? Что-то вроде: applicationContext.injectDependencies(obj); (Думаю, у Google Guice есть что-то вроде этого)

4
Spring Expression Language (SpEL) с @Value: доллар против хэша ($ против #)
Я немного не понимаю, когда использовать ${...}по сравнению с #{...}. В документации Spring используется только #{...}, но есть много примеров, которые используют ${...}. Более того, когда я начал с SpEL, мне сказали использовать, ${...}и он работает нормально. Для тех, кто сбит с толку, пример того, как я его использую, будет …

4
Ioc / DI - Почему я должен ссылаться на все слои / сборки в точке входа приложения?
(В связи с этим вопросом EF4: почему необходимо включить создание прокси, когда включена отложенная загрузка? ). Я новичок в DI, так что терпите меня. Я понимаю, что контейнер отвечает за создание экземпляров всех моих зарегистрированных типов, но для этого ему требуется ссылка на все библиотеки DLL в моем решении и …

3
ContextLoaderListener или нет?
Стандартное веб-приложение Spring (созданное Roo или шаблоном «Spring MVC Project») создает файл web.xml с помощью ContextLoaderListenerи DispatcherServlet. Почему они не только используют DispatcherServletи заставляют загружать полную конфигурацию? Я понимаю, что ContextLoaderListener следует использовать для загрузки материалов, не относящихся к сети, а DispatcherServlet используется для загрузки материалов, относящихся к сети (контроллеры, …

4
Для чего предполагается использовать аннотацию javax.inject.Named?
Я пытаюсь понять javax.injectпакет, и я не понимаю, для чего javax.inject.Namedпредполагается использовать аннотацию. Javadoc не объясняет идею, лежащую в основе этого. Javadoc находится по адресу http://download.oracle.com/javaee/6/api/javax/inject/Named.html. Я использую Spring 3.0 для написания некоторых примеров программ, @Namedдобавляя bean-компонент, он, кажется, добавляет его в bean-фабрику, но описание Javadoc настолько легкое, что я …

6
Передача данных в дочерние компоненты «роутер-розетка»
У меня есть родительский компонент, который отправляется на сервер и получает объект: // parent component @Component({ selector : 'node-display', template : ` <router-outlet [node]="node"></router-outlet> ` }) export class NodeDisplayComponent implements OnInit { node: Node; ngOnInit(): void { this.nodeService.getNode(path) .subscribe( node => { this.node = node; }, err => { console.log(err); …

21
Как вставить окно в сервис?
Я пишу сервис Angular 2 на TypeScript, который будет использовать localstorage. Я хочу , чтобы ввести ссылку на браузер windowобъекта в моей службы , так как я не хочу , чтобы ссылаться на какие - либо глобальные переменные , как Угловое 1.x $window. Как я могу это сделать?

8
Внедрение зависимостей с помощью Jersey 2.0
Начав с нуля без каких-либо предварительных знаний о Джерси 1.x, мне трудно понять, как настроить внедрение зависимостей в моем проекте Джерси 2.0. Я также понимаю, что HK2 доступен в Jersey 2.0, но я не могу найти документов, которые помогли бы с интеграцией Jersey 2.0. @ManagedBean @Path("myresource") public class MyResource { …

16
Каковы преимущества контейнеров для внедрения зависимостей?
Я понимаю преимущества самой инъекции зависимостей. Возьмем, к примеру, Spring. Я также понимаю преимущества других функций Spring, таких как АОП, различных помощников и т. Д. Мне просто интересно, каковы преимущества конфигурации XML, такие как: <bean id="Mary" class="foo.bar.Female"> <property name="age" value="23"/> </bean> <bean id="John" class="foo.bar.Male"> <property name="girlfriend" ref="Mary"/> </bean> по сравнению …

8
Как передать значения конструктору в моей службе wcf?
Я хотел бы передать значения в конструктор класса, реализующего мою службу. Однако ServiceHost позволяет мне передавать только имя создаваемого типа, а не аргументы, передаваемые его конструктору. Я хотел бы иметь возможность передать фабрику, которая создает мой объект службы. Что я нашел на данный момент: WCF Dependency Injection Behavior - это …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.