В настоящее время я создаю объект представления из результата поиска (который поступает из другого отдельного ресурса) следующим образом:
ViewObject vo = searchResultToViewObjectMapper.map(searchResult);
Это отлично работает.
Однако теперь я хочу добавить несколько картинок. Эти изображения являются URL-адресами, и я могу определить их местоположение только через какой-либо другой ресурс, а не из результатов поиска.
Моей первой мыслью было бы использовать Шаблон Строителя, это стало бы:
ViewObject vo = viewObjectBuilder.build(searchResult);
и viewObjectBuilder будет делать что-то вроде этого:
private SomeOtherResourceRepository someOtherResourceRepo;
private SomeUrlBuilder someUrlBuilder;
private SearchResultToViewObjectMapper searchResultToViewObjectMapper;
public ViewObject build(SearchResult) {
ViewObject vo = searchResultToViewObjectMapper.map(searchResult);
String reference = someOtherResourceRepo.getOtherResource(searchResult);
String urlToOtherResource = someUrlBuilder.build(reference);
vo.setUrlToOtherResource(reference);
return vo;
}
Вопрос: это хороший способ для этого? Или есть другие (лучшие) способы? Мне также любопытно, как подход DDD сделал бы это.
Заранее спасибо!