서비스 로케이터 패턴을 사용하는 DDD 데이터 계층이있는 프레임 워크가 있습니다. 그러나 현재 모든 참조를 저장하는 전역 정적 ServiceLocator
클래스를 사용합니다. 클래스가 IServiceProvider
인터페이스를 구현하고 전역 고정 ServiceLocator
클래스를 제거하는 올바른 구현으로 리팩토링하고 싶습니다.서비스 로케이터 패턴 및 DDD
이제 거의 모든 곳에서 엔티티 클래스를 제외하고 IServiceProvider
인터페이스로 기존 클래스를 확장하는 데 문제가 없습니다. 문제는 엔티티 클래스가 IServiceProvider
을 구현해야한다는 것이 매우 이상하다고 생각하지만, IoC 컨테이너를 통해 리포지토리를 해결할 수있는 서비스 제공 업체에 액세스하는 방법이 필요합니다.
엔터티에 IServiceProvider
을 구현하지 않아도 서비스 로케이터 패턴을 구현하는 가장 좋은 방법은 무엇입니까?
추천하는 패턴에 대한 링크를 게시 할 수 있습니까? – jgauffin
Google은 좋은 결과를 가지고 있습니다. http://www.google.com/search?q=service%20locator%20design%20pattern http://stefanoricciardi.com/2009/09/25/service-locator-pattern-in-csharpa-simple-example/의 시리즈는 좀 더 자세히 설명합니다. 내가 특별히 없애려고하는 것은 싱글 톤 패턴입니다. –
네, 그렇다고해도 제멋대로입니다. 이 패턴의 아무 것도 모든 엔터티가 IServiceProvider를 노출하지 않게합니다. – TomTom