системы, у нас есть BookService (в котором есть поле указывающее, кем книга зарезервирована) и CustommerService, который оперирует сущностю Custommer, у которой не должно быть поля ReservedBooks
Когда клиент делает запрос на получение Custommer, он хочет увидеть этого Custommer и его зарезервированные книги.
Тогда происходит следующее:
1. CustommerService возвращает клиента
2. BookService возвращает его ReservedBooks
3. Всё это мапится в структуру CustomerDTO, в которой у поля Custommer есть поле ReservedBooks
4. Эта структура возвращается клиенту
По чистой архитектуре мы в слое domain имеем именно бизнес сущности. По логике, эта та сущность, которая должна отдаваться клиенту и та сущность, которой должен оперировать CustommerService, но на деле получается, что в domain и в том, что прилетает клиенту лежит 2 разные структуры(сущности).
Почему так? Или надо по другому проектировать систему.
два домена отдельно, принадлежност ькниг определяется одним лишь author_id — этой связи достаточно на уровне ui(api/gateway) вы можете агрегировать данные
Обсуждают сегодня