2011-10-24 3 views
1

내 프로젝트는 다른 위치에 다른 버전의 서버가있을 수있는 클라이언트 및 서버 통신을 기반으로합니다. 클라이언트는 가장 가까운 서버의 버전 번호를 기반으로 특정 스텁 파일을 사용하여 통신합니다.버전 별 스텁 사용

이제 코드를 작성하면서 스텁을 사용하는 모든 장소에 어떤 버전의 서버가 있는지 확인해야합니다. 이것은 코드에서 많은 부분이 있기 때문에 매우 비효율적 인 것 같습니다. 스텁 버전을 확인해야합니다.

제약 조건은 정확히 하나의 서버가 클라이언트 주위에 존재한다는 것입니다. 클라이언트가 시작되면 통신 할 서버가 변경되지 않습니다. 우리는 Jax RPC를 사용하여 통신합니다.

더 나은 디자인을위한 제안 사항이 있으십니까?

답변

1

의존성 주입은 여기에서 도움이 될 수 있습니까? 각 서버 버전의 모든 로직을 별도의 클래스로 분리하고 Google Guice과 같은 도구를 사용하여 모든 특정 서버 버전 클래스를 자체 모듈 (즉, 서버 버전 당 하나의 모듈)로 구성하십시오. 그런 다음 처음에는로드 할 모듈을 확인하기 위해 하나의 검사 만 필요합니다.