Я ломал голову над этим несколько месяцев, и мне все еще удавалось удовлетворительно убедить себя, что у меня есть правильный ответ. У нас есть очень типичная ситуация, когда у нас есть зависимости между несколькими уровнями нашего приложения, где каждый уровень находится в своей собственной сборке. Например, наш прикладной уровень использует уровень репозитория для получения данных, что довольно стандартно. Мой вопрос: где будет жить абстракция (в данном случае интерфейс) и почему? В приведенном примере он должен находиться на уровне приложения, на уровне репозитория или в отдельной сборке абстракций?
На основе схемы и описания в Чистая архитектура. описание (не то, чего мы особенно придерживаемся) Я поместил их на уровень приложения, чтобы все зависимости были направлены внутрь, но я не уверен, что это правильно. Я прочитал довольно много других статей и просмотрел бесчисленное количество примеров, но очень мало аргументов в пользу того, где должны жить абстракции.
Я видел этот вопрос, но я не Не думаю, что это отвечает на мой вопрос, если, конечно, фактический ответ не имеет значения.