data слое, чтобы уменьшить связность с этим слоем, когда нам приходится их использовать.
Это излишество? И ничего плохого нет в том чтобы сущности импортировать из domain слоя?
Я на той неделе читал вот такую статью: https://habr.com/ru/company/mobileup/blog/335382/ И вроде в целом понял, а теперь читаю ваш вопрос и понимаю, что или я всё-таки ничего не понял или вопрос неправильный😁
Entity в domain представляют собой объекты, которые будут использоваться непосредственно в приложении, entity в data будут представлять собой объекты, которые приходят из интернета к примеру, или их базы данных. Они могут отличаться. К примеру в data могут быть поля, которые не используется в приложении - зачем их тогда тащить в domain? К тому же если приложение использует несколько источников данных(internet, bd) то entity для них будут разные в data, но domain не должен об этом ничего знать.
Спасибо, но я не говорил о том чтобы что-то тащить в domain. В том то и дело, у нас объекты могут быть одни и те же как в data так и в domain. Я ведь в domain в интерфейсе репозитория указываю что я возвращаю эти сущности в функциях? Так я хочу узнать, если я например продублирую их в data, это сведёт связность между data и domain до одного класса - repositoryImpl
Сведёт к интерфейсу repository из domain
Вы все правильно поняли:)
Я так понимаю, больше речь про DTO\Модельки. А то за неверное использование Entity тут некоторые живьём сожрут. >Это излишество? Вся архитектура может быть излишеством. Не надо так категорично. Всегда стоит смотреть на ситуацию целиком. Где-то это необходимо, где-то действительно лишняя головная боль. Но чаще всего конкретно тут разделение сущностей — полезная практика, т.к. бэк, локальные базы данных — штуки довольно непредсказуемые. Если завтра изменится схема БД или ответ от сервера — то нужно будет править лишь изменённую модельку и маппинг. Ну и конечно, если мы говорим о разделении на слои, то domain не должен знать о какой-то внутренней кухне, а часто для работы с DTO нужны какие-то аннотации\имплементации. >И ничего плохого нет в том чтобы сущности импортировать из domain слоя? Ничего плохого нет, более того, в data-слое и так, и сяк имеется связь с domain. Они общаются через общие интерфейс и модельки.
Обсуждают сегодня