Clean Architecture: How to Build The Infrastructure Layer

preview_player
Показать описание

Clean Architecture is an approach to organizing a software system to separate the concerns of the various components. Making the system easier to understand and maintain. The Infrastructure layer contains anything related to external concerns. It also implements interfaces defined in the Application and Domain layers. Examples of things you would handle in the Infrastructure layer are PostgreSQL, Keycloak, AWS S3, RabbitMQ, Kafka, SendGrid, etc.

Why Clean Architecture Is Great For Complex Projects

Join my weekly .NET newsletter:

Read my Blog here:

Chapters
0:00 What is the Infrastructure layer?
1:41 EF Core DbContext and Repositories
4:22 Authentication and Authorization
4:51 Background jobs
6:04 Messaging and Idempotency
7:02 Identity Provider with Firebase
7:40 Dependency Injection Setup
8:04 Common shared abstractions
Рекомендации по теме
Комментарии
Автор

Very clean video about the Infrastructure Layer. Thanks for sharing, my friend!

saddamhossaindotnet
Автор

In Clean Architecture, consumers are sometimes regarded as entry points of our application and placed in the presentation layer rather than the infrastructure layer. What are your thoughts on this?

marcelasmar
Автор

Thanks for your amazing tutorials!

Can you please have more simple examples to explain the concepts? Because we end up trying to understand the example rather than the concepts to perfectly understand the concepts.

ToxicMoh
Автор

Hi Milan, thanks for the nice video. Can we use the Infrastructure layer for helpers to access like third-party API, Graph API, etc? If Not then witch layer in Clean Architecture?

NavneetKumar-fsmc
Автор

Thanks for the video, Milan!

What are your thoughts on making the infrastructure layer dependent on the aspnet core packages?

EngLuizFranco
Автор

thank you milan. Did you also referenced persistence layer to infrastructure layer?

bzgtoqi
Автор

Hi, how would SignalR fit in Clean Architecture? Do you have a video that goes over this?

mdthom
Автор

Hi Milan, Great video! 3:11 Is it mistake in description of dependency rule? I have heard that Domain and Application layers are higher then Infrastructure layer and according to DIP (SOLID) Infrastructure layer depends on them.

aleksey
Автор

Milan, what if we have one business scenario that depends on one model exposed by another API? Do you need to implement an External System Class like ProductService? And use their abstraction for example on SaveSaleCommand. Or should we extract that model like a domain entity and create a repository then implement it on the infrastructure layer and inject the HTTP client to retrieve the information from "Product Service"?

ferventurart
Автор

Hi Milan, in case Persistance lives inside the infrastructure layer class library, How do I get the entities if they are inside the Domain Layer Class library, Can I add the domain layer as a dependency of the infrastructure layer directly? or through the Application Layer?

gustavomontanomorales
Автор

Hi Milan, can an infrastructure layer like Persistence have dependency on the Domain layer? I thought only Application layer can have a dependency on Domain layer

anandhapadmanaban
Автор

Where would you place your signalr hubs that will be injected in the application layer for real time message?

ugochukwuumerie
Автор

Can you make a review video on ABP Framework and compare it with the Clean Architecture then give your opinion and pros and cons of each one. Would love to see that! Thanks.

saeedom
Автор

kay, do you write <summary> comments manually ? looks neat and handy if someone else read the code

enricoroselino
Автор

What about cryptography concerns. Do you put it inside infra layer too?

haraheiquedossantos
Автор

How clean architecture will work Blazo web app (Auto), any example or recommendation?

alwaseem
Автор

Im new to clean arch. Can presentatiom layer reference infrastructure layer and vice versa?

TheHrt
Автор

I tried to check out your Clean Architecture course but my card was rejected if possible move your course to udemy.

codewithkarthik
Автор

Why consume messages into database tables before processing them? Message queues are already persistent, and the integration event processor could just as easily read messages and execute them asynchronously without involving the database at all, and they are no less transactional or resilient.

tomwolverson
Автор

Your setup in visual studio in this video is really different then the one used in your course. But why?

julien