0
인데, 인터페이스는 ICachingManager
입니다. 이제 구현이 하나 있습니다. 그때 나는 쉽게, 유니티와 CachingManager 클래스를 등록 할 수 있습니다 자동으로 유니티 해결하고 ICachingManager를 주입, 하나의 구현했다 경우유니티에 복합 클래스 등록하기. 내 구현에는
public class CachingManager
{
#region Members
private ICachingManager service;
#endregion
#region Constructors
public CachingManager(ICachingManager service)
{
this.service = service;
}
#endregion
#region Public Methods
public void EnCache<T>(string key, T value)
{
this.service.EnCache<T>(key, value);
}
public T DeCache<T>(string key)
{
return this.service.DeCache<T>(key);
}
#endregion
}
: 나는 또한 관리자 클래스를 만들었습니다.
명명 된 유형을 사용하는 구현이 두 개 이상인 경우 Unity를 어떻게 사용할 수 있습니까? 초기화 할 이름 지정 유형을 결정하기 위해 추상 팩토리를 사용해야합니까?
그런 복합 클래스를 사용하거나 인터페이스의 구현을 Abstract Factory로 직접 사용하는 것이 좋은가요?
감사합니다. 컴파일 시간에 이름을 모르겠다면 설정 파일에서 이름을 읽은 다음 공장이 필요합니까? 한 가지 더, Uinty 2.0을 인터페이스를 구현하지 않는 유형으로 구성하는 방법을 살펴 보려고합니다. 설정 파일의 구문은 무엇입니까? 고마워요. – Bill
1) 런타임에 종속성의 이름이 주어지면 실행시 변경 될 수있는 팩토리가 필요합니다. 2) 유형을 등록하십시오. "mapTo"속성은 필요하지 않습니다. http://msdn.microsoft.com/en-us/library/ff660914(v=PandP.20).aspx#config_registerelement –
onof
Onof를 참조하십시오! DI 및 공장에서 아이디어가 명확 해짐;) 감사합니다. – Bill