2011-02-01 1 views
4

내가 가지고 OrgManager 인터페이스를 가지고 응용 프로그램을 가지고 내 SomethingManager 클래스의 구현간에 전환하는 방법은 무엇입니까?

OrgManagerImpl

을 구축 할 수 아직 - 투 - OrgManagerImpl 가서 우리가 아직에 액세스 할 수없는 일부 REST API 제 3 자 물건 이야기한다.

웹 프런트 엔드를 테스트하는 동안 OrgManager를 구현하는 mock OrgManagerImpl을 작성했지만 현재 구현에서이를 구현해야합니다.

그러나 지금 나는 서블릿이 어떤 조건에 의존하여 OrgManager 구현을 선택하게하려는 상황에 처해있다.

또한 myOrgManager.findCompany ("SomeCompanyId")를 호출 할 때 myOrgManager를 사용하여 회사를 찾아 큰 목록을 만들 수있는 모든 가능한 구현을 살펴 보겠습니다.

또한 myOrgManager.createCompany (회사)를 통해 다른 구현보다 하나의 구현을 선호합니다.

UserManagerManager 객체를 향하고있는 것처럼 보입니다 ... 그러나 나는 이것이 내가 알아야 할 Java 또는 객체 지향 디자인의 일부 지점을 놓치고 있다고 느낍니다.

누구나 내가 대신 사용해야하는 패턴이나 전략을 제안 할 수 있습니까?

감사

답변

2

Spring DI 여기에 매우 유용합니다.

당신은 단지 XML

2

당신이 봄을 사용하는 경우를 변경하여 다른 구현으로 전환, 다음 구현 구성하고 주입 할 수 있습니다. 런타임 유형 (예 : 구현)은 쉽게 변경할 수 있습니다.

또는 Spring을 사용하지 않는 경우 공장에서 어떤 구현을 제공할지 결정하는 일부 종류의 공장 패턴을 살펴볼 수 있습니다. 당신의 공장은 어떤 종류의 외부 설정 (예를 들어 설정 파일, 환경 변수 등)을 사용하여 사용할 구현을 결정할 수 있습니다.

+0

+1 비 스프링 응답 – Paul

관련 문제