Микросервис - определение переменных в разных слоях. Разработка лучших практик - PullRequest
0 голосов
/ 12 февраля 2020

У меня есть два слоя:

  1. API: предоставляет различные ресурсы и объекты для потребителей. (jar)
  2. Сервис: содержит все бизнес-логи c.

У меня есть объекты, константы и перечисления, которые я повторяю, поскольку я использую их в обоих слоях

Итак, в API у меня может быть один объект, такой как

class MyObject {
      MyEnum enum;
      ...
      //getters and setters
}

и

 enum MyEnum {
       ONE, TWO
 }

В моем слое обслуживания у меня есть MyObjectDTO (с некоторыми бизнес-переменными, которые являются эксклюзивными на уровень обслуживания) и то же MyEnum.

Я повторял объекты в обоих слоях (с некоторыми отличиями, но не в перечислениях или константах).

Вопрос: есть ли лучший подход?

Спасибо в заранее!

1 Ответ

2 голосов
/ 12 февраля 2020

Обычно хорошей практикой является разделение чтения и записи DTO. Посмотрите на CQRS. Таким образом, когда ваша сторона записи изменяется, ваше чтение может или не должно измениться. Его приятно отделить. Кроме того, если вы хотите распространять свои записи DTO, вы можете сделать это в отдельной библиотеке, не затрагивая чтение DTO.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...