2014-09-07 3 views
0

현재 내 응용 프로그램의 수명주기에서 Http 클라이언트를 쉽게 전환 할 수 있도록 응용 프로그램의 Http 클라이언트 추상화 계층을 작성하고 있습니다. 문제는 현재 Apache 클라이언트, Ning, Spray, Ok 등의 모든 Http 클라이언트가 모두 매우 다른 구현을 사용하여 제 일을 매우 어렵게 만듭니다.Http 클라이언트 추상화 계층

이제 내 질문은 구현할 수있는 유일한 방법은 활용할 수있는 이미 미리 빌드 된 프로젝트가 있습니까?
그렇지 않다면 어떻게해야할까요? 내 프로젝트가 전적으로 Actor 기반의 Akka이라는 인터페이스를 언급 할 가치가 있습니다.

필자는 서면 코드를 요구하지 않고 단지 그런 개념을 수행하는 방법에 대해 머리를 감쌀 수 없다.

는 HTTP 요청 및 응답 메시지 (케이스 클래스로 모델링)의 자신의 표현을 만들고 다음과 같이

+2

HTTP 클라이언트를 전환하는 이유는 무엇입니까? 다른 HTTP 어댑터에서 구현할 수있는 도메인 *의 추상화가 원하는 것보다 더 들리기 때문에 묻습니다. – tddmonkey

+0

네, 그게 더 좋은 용어입니다. 많은 번거 로움없이 HTTP 어댑터를 쉽게 전환 할 수 있기를 원합니다. 이 btw의 추론은 시원하고 흥미로운 많은 HTTP 클라이언트가 아직 릴리스되지 않았기 때문에 우리가 이미 도메인 논리 (응용 프로그램)를 미리 작업하고 있기 때문에 가능합니다. – Martijn

+0

구현이 아닌 DOMAIN이 원하는 것에 따라 추상화 계층을 작성하십시오. 그러면 HTTP 어댑터를 전환하면 모든 클래스를 쉽게 교체 할 수 있습니다. – tddmonkey

답변

1

한 가지 가능한 방법이 될 것이다. 그런 다음이를 추상화에서 원하는 구체적 impl과 같은 브리징을 포함하는 HTTP 요청 실행자의 풀로 시작합니다. 그렇게하면 http 요청을 할 필요가있는 다른 액터 중 하나를 변경하지 않고 HTTP 요청 실행자에서 impl을 바꿀 수 있습니다.

관련 문제