컨테이너를 사용하면 클래스에 필요한 종속성을 제공 할 수 있습니다. 클래스가 컨테이너로 알려진 경우 모든 Bean을 작성할 수 있습니다. 서비스 탐지기의 예입니까?IOC 컨테이너는 서비스 검색 자 패턴의 예입니까?
2
A
답변
1
아니요, DI 컨테이너 자체는 서비스 로케이터가 아니지만 하나 같이 사용할 수 있습니다. 그것은 그것의 사용에 전적으로 의존한다.
컨테이너 을Composition Root 안에 사용하는 경우 서비스 로케이터는 not입니다. 그러나 컨테이너 을 컴 퓨션 루트 외부에 사용하면 컨테이너에 대한 호출 (또는 그 추상화)이 Service Locator anti-pattern의 형식이됩니다.
2
둘 사이의 구분 언급 article이 마틴 파울러 :
두 패턴 사이의 중요한 차이는 그 구현이 응용 프로그램 클래스에 제공되는 방법에 대해입니다. 서비스 로케이터를 사용하면 응용 프로그램 클래스가 로케이터에 대한 메시지로 명시 적으로 요청합니다. 인젝션을 사용하면 명시 적 요청이 없으므로 서비스가 응용 프로그램 클래스에 표시되므로 제어가 역전됩니다.
관련 문제
- 1. 이것이 안티 패턴의 예입니까?
- 2. ActionListener가 위임 패턴의 예입니까?
- 3. 데코레이터 패턴의 예입니까?
- 4. 이것이 데코레이터 패턴의 예입니까 (객체에 데이터 추가)?
- 5. 안드로이드 어댑터는 어댑터 디자인 패턴의 예입니까?
- 6. Funq IoC 컨테이너는 속성 주입을 지원합니까?
- 7. 장식 자 패턴의 복수 장식 자
- 8. IOC "하위"컨테이너/서비스 찾기
- 9. 은 Flex의 MXML 파일로 MVC 디자인 패턴의 예입니까?
- 10. Java의 예외 처리 메커니즘이 Chain of Responance 디자인 패턴의 예입니까?
- 11. IoC 컨테이너는 Messenger/Mediator 클래스를 사용할 수 있습니까?
- 12. Windows 저장소 앱에서 사용할 수있는 IoC 컨테이너는 무엇입니까?
- 13. Spring IoC 컨테이너는 어떻게 새로운 객체를 생성 할 수 있습니까? 또는 Spring IoC 컨테이너가 내부적으로 작동합니까?
- 14. 컨테이너는
- 15. 컨테이너는
- 16. 서비스 로케이터 대 Xamarin의 IOC
- 17. WCF 서비스 내 IoC 충돌
- 18. 서비스 컨테이너는 심포니와 같은 의존성 주입입니까?
- 19. 선택자의 예입니까?
- 20. Unity IoC 컨테이너에서 객체 검색
- 21. C# - 패턴의 이진 파일 검색
- 22. 복잡한 패턴의 파이썬 정규식 검색
- 23. 적절한 예외 처리의 유효한 예입니까?
- 24. MEF는 서비스 검색 자입니까?
- 25. RequestHandlerRetryAdvice | 서비스 활성화 자
- 26. JSP와 Servlet 컨테이너는 같은가요?
- 27. 클라우드의 컨테이너는 무엇에 좋은가요?
- 28. 이것은 단일 책임 원칙의 예입니까?
- 29. 서비스 컨테이너 또는 IoC for WinForms 제안
- 30. 서비스 클래스가 일반적인 메소드를 호출하는 IOC
인용문은 "Service Locator vs Dependency Injection"에서 인용 한 것입니다. 따옴표는 의존성 삽입과 서비스 위치의 차이점을 설명하지만 질문에는 대답하지 않습니다. 질문은 * Container *에 관한 것입니다. Dependency Injection * 및 * Service Location을 모두 수행 할 수있는 도구. – Steven