Не могу утверждать точно, но скорее всего GitlabApi — это интерфейс data source, то есть он описывает, как дата-слой может получить данные. И в принципе-то домейну не важно, как именно происходит получение данных, какие там апишки. Интерфейс репозитория рекомендуют ложить в домейн чтоб была возможность использовать этот слой на других платформах. Но Вы задали хороший вопрос, так как иногда действительно интерфейс data source ложат в домейн. Попрошу более опытных ребят меня поправить, если что не так)
скорее всего GitlabApi является не интерфейсом репозитория, а просто интерфейсом rest api для получения данных с сервера а уже репозиторий в своей реализации будет использовать либо этот rest api, либо БД, либо что-то другое то, откуда репозиторий будет брать данные (с сервера или из БД) является деталями, которые не важны бизнес логике, поэтому интерфейсы Api и Dao находятся в дата слое, а не в домене
Interactor-ы в данном проекте в качестве входного параметра используют GitlabApi, не репозиторий.
Скорее всего, авторы этого проекта не задумывались о clean :)
с точки зрения чистой архитектуры это нарушает правило зависимостей, потому что нельзя на внутренних слоях использовать что-то из внешних слоёв видимо разработчики решили упростить и сделали так
ну либо да, проект не по клину делали
Обсуждают сегодня