«dependency-injection» 태그된 질문

종속성 주입은 구성 요소의 종속성 (객체 인스턴스, 속성)이 생성자, 메서드 또는 필드 (속성)를 통해 설정되는 디자인 패턴입니다. 보다 일반적인 의존성 역전의 특수한 형태입니다.

4
의존성 주입에 대한 점진적 접근
의존성 주입을 사용하여 클래스를 단위로 테스트 할 수 있도록 노력하고 있습니다. 그러나이 클래스 중 일부에는 많은 클라이언트가 있으며 종속성을 전달하기 위해 모든 클래스를 리팩터링 할 준비가되지 않았습니다. 그래서 나는 점차적으로 노력하고 있습니다. 기본 종속성을 유지하면서 테스트를 위해 재정의 할 수 있도록합니다. 내가 고민하고있는 한 가지 접근 방식은 모든 "새로운"호출을 고유 …

1
프로그래밍에서 '해결'은 무엇을 의미합니까? [닫은]
폐쇄되었습니다 . 이 질문은 의견 기반 입니다. 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 이 게시물 을 편집 하여 사실과 인용으로 답변 할 수 있도록 질문을 업데이트하십시오 . 휴일 3 년 전 . Resolve의존성 주입 (인터페이스로 구현 해결), 패키지 관리자 (예 : 패키지 종속성 해결), 웹 (예 : 호스트 이름 …

5
의존성 주입을 사용하고 시간적 결합을 피하는 방법?
Service생성자를 통해 종속성을 수신하지만 사용하기 전에 사용자 정의 데이터 (컨텍스트)로 초기화해야 한다고 가정 합니다. public interface IService { void Initialize(Context context); void DoSomething(); void DoOtherThing(); } public class Service : IService { private readonly object dependency1; private readonly object dependency2; private readonly object dependency3; public Service( object dependency1, object dependency2, …

4
데이터 객체에 의존성 주입을 사용합니까?
나는 의존성 주입에 대해 배우고 있으며 무언가에 붙어 있습니다. Dependency Injection은 생성자를 통해 종속 클래스를 보내는 것이 좋지만 데이터 객체에 필요한지 궁금합니다. 단위 테스트 가능성은 DI의 주요 이점 중 하나이므로 데이터 만 저장하고 데이터를 저장하는 절차는 수행하지 않는 데이터 객체가 될 수 있습니다. 데이터 객체? Class DO{ DO(){ DataObject2List = …

1
의존성 주입을 위해 Python의 Method Resolution Order를 사용하는 것은 좋지 않습니까?
나는 Raymond Hettinger의 Pycon 강연 "슈퍼 고려 슈퍼"를보고 결정적인 방법으로 클래스 "부모"클래스를 선형화하는 Python의 MRO (Method Resolution Order)에 대해 조금 배웠습니다. 우리는 이것을 아래 코드와 같이 의존성 주입을 위해 우리의 이점으로 사용할 수 있습니다. 이제 자연스럽게 super모든 것에 사용하고 싶습니다 ! 아래의 예에서 User클래스에서 모두 상속하여 그것의 종속성을 선언 LoggingService하고 …

4
팩토리 패턴과 함께 Dependency Injection을 사용하는 방법
주어진 유형의 파일을 구문 분석하는 모듈을 고려하십시오. 이미 이상 설명대로 나는이 문제를 해결하기 위해 전략 패턴을 사용하여 생각하고 여기에 . 이 질문을 진행하기 전에 링크 된 게시물을 참조하십시오. product.xml 파일의 내용이 필요한 클래스 B를 고려하십시오. 이 클래스는 XML 파일을 구문 분석하기 위해 구문 분석기 인터페이스의 적절한 구체적 구현자를 인스턴스화해야합니다. 클래스 …

5
전략 패턴과 의존성 주입을 사용하여 상속을 완전히 대체 할 수 있습니까?
예를 들면 다음과 같습니다. var duckBehaviors = new Duckbehavior(); duckBehaviors.quackBehavior = new Quack(); duckBehaviors.flyBehavior = new FlyWithWings(); Duck mallardDuck = new Duck(DuckTypes.MallardDuck, duckBehaviors) Duck 클래스에는 모든 비헤이비어 (추상)가 포함되어 있으므로 새 클래스를 만드는 MallardDuck(확장 Duck) 필요하지 않은 것 같습니다. 참조 : 헤드 퍼스트 디자인 패턴, 1 장.

3
의존성 주입 : 모든 부분을 담을 Car 클래스를 만들어야합니까?
C ++ 애플리케이션에는 RaceTrack이 포함 된 많은 자동차가 있습니다. 각 자동차는 수백 개의 부품으로 구성됩니다. 각 부분은 다른 부분에 의존합니다. DI와 Mark Seemann의 책에서 많은 SO 질문을 읽었으며 모든 자동차 부품이 서로 의존 하고이 수프 부품이 자동차이기 때문에 자동차 부품을 보유하기 위해 Car 클래스를 정의해서는 안되는 것처럼 보입니다. 내가 맞아? …

1
Guice에서 @ImplementedBy 주석의 동기는 무엇입니까?
최근 Google Guice@ImplementedBy 에서 사용할 수 있는 주석 에 대해 읽었습니다 . 이를 통해 프로그래머는 인터페이스와 구현 간의 바인딩을 지정하여 향후 의존성 주입에 사용할 수 있습니다. JIT (Just-In-Time) 바인딩 의 예입니다 . 다음 구문을 사용하여 모듈에서 명시 적 바인딩을 정의하는 데 꽤 익숙합니다. bind(SomeInterface.class).to(SomeInterfaceImplementation.class); 설명서에 따르면 이는 다음 @ImplementedBy주석 사용과 …

1
여러 젠드 응용 프로그램 코드 구성
지난 한 해 동안 Zend 프레임 워크를 기반으로 한 일련의 응용 프로그램을 연구 해 왔으며 모든 응용 프로그램이 모든 응용 프로그램을 사용하지 않더라도 액세스해야하는 복잡한 비즈니스 논리에 중점을 두었습니다. 그들은 모두 공통 센터와 연결되어 있기 때문에 응용 프로그램). 프로젝트가 구체적으로 무엇인지에 대해 자세히 설명하지 않고 코드를 "그룹화"한 방법에 대한 입력을 …

4
의존성 주입은 어떻게 언어에 통합 될 수 있습니까? [닫은]
폐쇄되었습니다 . 이 질문은 더 집중되어야 합니다. 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 이 게시물 을 편집 하여 한 가지 문제에만 집중할 수 있도록 질문을 업데이트하십시오 . 휴일 3 년 전 . 의존성 주입이 C #과 같은 언어에 직접 더 잘 통합 될 수있는 방법에 대해 조금 생각하고 있습니다. …

3
DI / IoC 컨테이너를 기존 애플리케이션에 통합하기위한 권장 사항
이제 IoC (Inversion of Control) 컨테이너를 기존 응용 프로그램에 통합하는 문제에 직면하고 있으며 커플 링을 줄임으로써 테스트 가능성을 높이는 궁극적 인 목표로 가장 쉽게 달성 할 수있는 방법에 대한 몇 가지 권장 사항을 찾고 있습니다. 일반적으로 대부분의 클래스를 신 객체 로 분류하지는 않지만 정적, 단일 톤 및 인터페이스 부족을 통해 …

2
리포지토리로 또는 리포지토리로
Domain Driven Design에 대해 처음 알게되었을 때 데이터베이스에 대해 원시인과 같은 SQL 쿼리를 던진 멋진 아이들을위한 최고의 노하우였던 저장소 및 작업 단위 패턴에 대해서도 소개했습니다. 이 주제에 대해 더 깊이 알게되면 작업 단위와 저장소를 세션 또는 컨텍스트라는 하나의 API로 구현하는 EF 및 NHibernate 와 같은 ORM 때문에 더 이상 필요하지 …

4
주변 컨텍스트와 생성자 주입
데이터베이스의 ISessionContext, 로그의 경우 ILogManager 및 다른 서비스와의 통신에 사용되는 IService가 필요한 많은 핵심 클래스가 있습니다. 모든 핵심 클래스에서 사용하는이 클래스에 종속성 주입을 사용하고 싶습니다. 두 가지 가능한 구현이 있습니다. 세 클래스 모두에서 IAmbientContext를 허용하거나 모든 클래스에 세 클래스를 삽입하는 핵심 클래스입니다. public interface ISessionContext { ... } public class …

3
의존성 주입을 사용할 때 한 클래스에서 허용되는 주입 횟수
종속성 주입을 위해 C #에서 Unity를 사용하고 있지만 종속성 주입을 사용하는 모든 언어 및 프레임 워크에 질문이 적용되어야합니다. 나는 SOLID 원칙을 따르려고 노력하고 있으므로 많은 추상화를 얻었습니다. 그러나 이제 한 클래스에 몇 번의 주사를 주사 해야하는지에 대한 모범 사례가 있는지 궁금합니다. 예를 들어, 9 개의 주사가있는 저장소가 있습니다. 다른 개발자에게는 …

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.