Layers in Software Design

Separation of concerns is one of the most important principles in software design. A common way to adhere to this principle is to divide the application code into several levels of abstraction or layers, each performing a strictly defined function. Infrastructure Layer The Infrastructure Layer is the outer layer that handles all interactions between the application and the outside world. It includes all code that works with external dependencies, such as databases, third-party services, API controllers, etc. It contains implementations of entity repositories, adapters for message queues and external systems, and libraries for network operations, file access, and even system timers. ORMs and similar tools are encapsulated here. ...

2022-08-27 · 2 min · 261 words · Andrey