Я использую текущую топологию слоя:Spring: DTO и обслуживание слой
1) дао 2) обслуживание 3) Контроллеры (презентация)
В одном из моих контроллеров Я получаю следующий звонок (от клиентов):
public PlayerStatisticsDTO getPlayerStatistics(int playerId);
Контроллер должен теперь делегировать вызов сервисному слою.
Проблема, если я создать метод, как:
public PlayerStatisticsDTO getPlayerStatistics(int playerId);
в моей службы я на самом деле делает мой уровень сервиса осведомленный объекта DTO!
Я считаю, что это плохая практика
Так мой другой вариант, который я придумал создает новый класс (или нет?):
public class PlayerStatistics {...}
и затем вызвать в мой контроллер:
PlayerStatistics stats = this.service.getPlayerStatistics(playerID);
return toDTO(stats);
проблема с этим решением является то, что я не имею никакого использования для этого класса вообще в моем проекте, так что кажется ненужным дублированным код
В чем проблема, я не понял? –
Я не хочу, чтобы мой служебный уровень был знаком с моими классами DTO – Urbanleg
, вы хотите, чтобы прямой доступ к dto к вашему контроллеру был не таким? каким образом вы хотите модулировать? –