제목에 말하면서, 정말로! 걔들 뭐해?Castle Windsor 구성 요소 등록의 컨텍스트에서 "전달 유형"은 무엇입니까?
15
A
답변
16
전달 유형은 구체적인 예를 들어, 하나의 구현에 의해 구현되는 하나 개 이상의 서비스를 할 수 있도록 우리가 어떤 종류의 트리 노드 작업을위한 두 개의 인터페이스를 가지고 말 :
public interface INodeAlterationProvider { ... }
public interface IChildNodeListProvider { ... }
그리고 다양한 구성 요소가을 이러한 인터페이스 중 하나 또는 둘 모두에 대한 종속성. 당신은 NodeFactory의 두 인스턴스를 등록 할 수
public class NodeFactory : INodeAlterationProvider, IChildNodeListProvider { ... }
:처럼 그러나 그 각각의 인터페이스를 구현하는 당신이 공유 많은 기능들이 있음을 발견하고 다른 기능과 함께 하나의 클래스로 구현을 병합 할 말 거기 특히, 이해하는 등 열심히하고 디버깅 할 수 있습니다 -
container.Register(Component.For<INodeAlterationProvider>().ImplementedBy<NodeFactory>());
container.Register(Component.For<IChildNodeListProvider>().ImplementedBy<NodeFactory>());
그러나 이것은 잠재적으로 NodeFactory 두 싱글 인스턴스를 의미 존재할 수 - 적합하지, 건설 비용이 많이있어 특히 각 서비스에 대한 하나는 구현 2 개 이상의 인터페이스가 구현됩니다.
container.Register(Component.For<INodeAlterationProvider>().Forward<IChildNodeListProvider>().ImplementedBy<NodeFactory>());
주 : 전달 유형이 같은 구현에 여러 서비스를 전달 할 수있는 단계 곳
이이며, 여기에 그 일의 예 여기에 표시된 구성 요소 등록 코드는 트렁크에서만 사용할 수 있습니다 .
관련 문제
- 1. Castle Windsor : 구성 요소 ID를 재정의하는 방법이 있습니까?
- 2. Castle Windsor WcfFacility에서 이상한 구성 요소 등록 오류가 발생했습니다.
- 3. 구성 OpenCV의 요소 유형은
- 4. Castle Windsor Build Error
- 5. Castle Windsor v2로 업그레이드해야합니까?
- 6. 매개 변수가있는 MvcContrib Windsor 설정 구성 요소
- 7. Castle Windsor : 여러 유형 등록
- 8. Castle Windsor Dynamic 속성 (XML)
- 9. 추천 Castle Windsor/NHibernate stack?
- 10. Windsor XML 제네릭 구성
- 11. 생성자 주입 대체물 (Castle Windsor)
- 12. Castle Windsor 인터셉터를 사용한 성능
- 13. Castle Windsor IOC는 어떻게 설치합니까?
- 14. Castle Windsor Weak Typed Factory
- 15. Windsor Castle의 구성 요소 종속성에 표기법 추가
- 16. 윈저 성 (Windsor Castle) : 컨테이너 지우기
- 17. Castle Windsor thread-safe에 서비스/구성 요소를 등록하고 있습니까?
- 18. Castle Windsor Fluent API : 구성 요소 매개 변수 값을 구성된 속성으로 설정하는 방법
- 19. Castle Windsor : 명령 행 인수를 여러 서비스에 전달하는 방법은 무엇입니까?
- 20. Castle Windsor 리플렉션을 통한 인터페이스 해상도
- 21. mvc 및 castle windsor - registratrion 이벤트
- 22. 동적 문자열에 의존해야하는 Windsor 구성 요소를 설정하는 방법은 무엇입니까?
- 23. Castle Windsor - 싱글 톤 또는 일회용이 아닌 일시적인 객체를 릴리스해야합니까?
- 24. ASP.NET MVC 2를 사용하는 Castle Windsor
- 25. Castle Windsor : 내부 구현을 등록하는 방법
- 26. Castle Windsor 컨트롤러 팩토리 및 RenderAction
- 27. Castle Windsor : NameValueCollection 대 Dictionary를 입력하십시오.
- 28. Castle Windsor : 구현 어셈블리 찾기 및 사용
- 29. Castle Windsor/Sharp Architecture에서 많은 저장소 처리하기
- 30. IoC (Castle Windsor) 및 정적 도우미
감사합니다. 그게 무엇인지 설명합니다. 그러나이를 기반으로 두 서비스를 병합하기 위해 "적절한"리팩토링을하지 않는 것에 대한 지름길과 같은 냄새가납니다 ...? –
필자가 제공 한 예제에서 나는 냄새가 날 수 있었다. 나는 커프에서 벗어났다. 더 좋은 예는 ILoggerFactory를 확장하고 두 인터페이스를 모두 만족하는 단일 클래스로 구현되는 IExtendedLoggerFactory와 같은 것일 수있다. – Bittercoder
아. 그래, 알았어. 나는 지난 밤에 IoC/Windsor의 Mike Hadlow의 이야기에 실제로 있었고 거기에서도 트렁크에 관한 것들을 발견했다. –