Commit 3207ee26 by César Galvis

docs: added onion diagram in back end structure docs

parent fdcb43de
# Estructura de proyectos back end
Dependiendo del framework, se recomienda utilizar patrones de arquitectura con algunas condiciones.
### Proyectos con ASP.NET
Para proyectos en ASP.NET, se ha implementado un patrón de arquitectura inspirado en [Arquitectura Limpia](https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html), siguiendo las recomendaciones de [Microsoft](https://learn.microsoft.com/en-us/dotnet/architecture/modern-web-apps-azure/common-web-application-architectures#clean-architecture).
Se recomienda entender el funcionamiento de los siguientes principios y patrones de diseño:
......@@ -9,16 +11,11 @@ Se recomienda entender el funcionamiento de los siguientes principios y patrones
- [Patrón Repositorio (Repository)](https://medium.com/@pererikbergman/repository-design-pattern-e28c0f3e4a30)
- [Patrón de Inyección de Dependencias (Dependency Injection - DI)](https://www.geeksforgeeks.org/system-design/dependency-injectiondi-design-pattern/)
### Proyectos con ASP.NET
Para proyectos en ASP.NET, se ha implementado un patrón de arquitectura inspirado en [Arquitectura Limpia](https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html), siguiendo las recomendaciones de [Microsoft](https://learn.microsoft.com/en-us/dotnet/architecture/modern-web-apps-azure/common-web-application-architectures#clean-architecture).
Este patrón de arquitectura utiliza las siguientes capas:
1. **Core**
2. **Application**
3. **Infrastructure**
4. **WebApi**
> fuente: [milanjovanovic.tech](https://www.milanjovanovic.tech/blog/clean-architecture-folder-structure)
![Clean architecture diagram](/resources/images/architecture-patterns/clean-architecture.png)
Se recomienda que la estructura de carpetas de la solución sea así:
......@@ -52,7 +49,7 @@ src/Core
Capa en donde estarán los servicios y la mayor parte de la lógica de negocio del sistema.
> **NOTA:** En esta capa se agregan los `DTOs`, ya que son adaptaciones de los datos que viajan entre el sistema y el exterior (`WebApi`).
> **NOTA:** En esta capa se agregan los `DTOs`, ya que son adaptaciones de los datos que viajan entre el sistema y el exterior (`WebApi`). No se agregan en la capa `Core`, debido a que no es su responsabilidad conocer cómo se van a transformar los datos en capas externas.
```sh
src/Application
......
This diff was suppressed by a .gitattributes entry.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment