Должен ли я использовать интерфейсы для классов данных в пакетах API? - PullRequest
0 голосов
/ 28 сентября 2019

Я разрабатываю API, чтобы покрыть его тестами в будущем.

Мой метод обслуживания требует некоторых классов данных:

public interface Service {
   GetUserResponse getUser(GetUserQuery query);
}

GetUserResponse и GetUserQuery простоструктуры, несущие данные.

Должен ли я создавать их как интерфейс или POJO с сеттерами, геттерами и т. Д.?

Кроме того, если последний, где их разместить?В модуле API или в одном с реализацией?

1 Ответ

0 голосов
/ 28 сентября 2019

Это мнение, но я не согласен с вашим выбором.

  1. «Сервис» - слишком общий, не обязательно о данных.Они обычно означают SOAP или, еще лучше, REST, для меня.
  2. Объект запроса?Я думаю, что лучше договориться о том, что пользователь должен передать.Не беспокойтесь о гибкости;предпочитаю быть понятным.
  3. Я ожидаю, что возвращаемое значение из getUser будет User.

Вот что я бы сделал:

public interface UserRepository {  
    List<User> find();
    User find(Integer id);
    List<User> find(String lastName);
    Integer save(User user);
    void update(User user);
    void delete(Integer id);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...