У меня есть прокси-служба, которая предоставляет несколько API-интерфейсов, каждый из которых запрашивает объект определенного типа и возвращает объект определенного типа.На мой ProxyService приходят запросы, которые отображаются в формате, ожидаемом базовой службой:
public class ProxyService {
public ProxyServiceResponse_A performA(ProxyServiceRequest_A request);
public ProxyServiceResponse_B performB(ProxyServiceRequest_B request);
public ProxyServiceResponse_C performC(ProxyServiceRequest_C request);
...
}
public class ProxiedService {
public ProxiedServiceResponse_A performA(ProxiedServiceRequest_A request);
public ProxiedServiceResponse_B performB(ProxiedServiceRequest_B request);
public ProxiedServiceResponse_C performC(ProxiedServiceRequest_C request);
...
}
Я хочу создать универсальные средства отображения для сопоставления входящих запросов ProxyService с запросами ProxiedService:
public class MyRequestMapper {
public ProxiedServiceRequest_A mapRequestA(ProxyServiceRequest_A request);
...
}
Я знаю о бульдозерах и apache-скоростях, но я не хочу использовать их, вместо этого делаю это самостоятельно.Есть ли шаблон дизайна или общий способ достижения этого?