Repository Pattern: CORRECT vs. Pragmatic? | Clean Architecture

About Clean Code

Implementing “interface adapters”, specifically the repository pattern, in Clean Architecture correctly seems to be a controversial topic.

While some favor a pragmatic approach by following the concepts of the Hexagonal Architecture, others are tearing their hair, how to implement repositories following the Dependency Rule.

This tutorial explains why the intuitive implementation is probably wrong and how repositories could be implemented being more in with the ideas of the Clean Architecture.

“Implementing Clean Architecture – Frameworks vs. Libraries”
http://www.plainionist.net/Implementing-Clean-Architecture-Frameworks/

Source code used in this tutorial:
https://github.com/plainionist/AboutCleanCode/tree/main/Athena.Repositories

0:00 Intro
0:35 The intuitive implementation
1:22 The problem
3:53 Moving repository to IO layer
4:31 Entities != DTOs
6:50 SQL instead of ORM
8:07 AzureDevOps REST APIs
8:59 Conclusion

CREDITS: “Subscribe Button” by MrNumber112 https://youtu.be/Fps5vWgKdl0