Arquitectura Hexagonal en C# .NET

En este curso aprenderás a construir software utilizando Arquitectura Hexagonal.
Puedes adquirir el curso comprándolo con un solo pago sin límite de tiempo en el botón de aquí abajo, o puedes Suscribirte a Metal Code y acceder a todos los cursos por una cuota temporal.
8.00 USD
8.50 horas
123 clases
Lo que aprenderás
- Programación estructurada
- Programación Orientada a Objetos
- Programación funcional
- Fundamentos de Arquitectura de Software
- Principios S.O.L.I.D.
- Capas y componentes
- Fábricas para creación de objetos
- DTOs para transporte entre capas
- Casos de uso
- Puertos y Adaptadores
- Ejemplos reales con Arquitectura Hexagonal
Clases del curso
Introducción
Introducción al curso de Arquitectura Hexagonal
Programación Estructurada (Introducción a C#)
¿Qué son los paradigmas de programación?
Paradigma estructurado
Creación de un proyecto en .NET
Variables
Arrays
Sentencias condicionales
Sentencias de iteración
Funciones
Ejemplo de programa con paradigma estructurado
Programación Orientada a Objetos (Introducción a C#)
Paradigma Orientado a Objetos
Clases y Objetos
Método Constructor
Campos y propiedades
Espacio de nombres (Namespace)
Herencia
Encapsulamiento
Sobrecarga
Sobreescritura
Clases abstractas
Polimorfismo con clases abstractas
Interfaces
Generics
Static
Programación Funcional (Introducción a C#)
Paradigma funcional
Función pura
Funciones de primera clase
Tipo Action
Expresiones Lambda
Tipo Func
Función de orden superior
Tipo Predicate
Principios SOLID
¿Qué son los Principios SOLID?
Principio de responsabilidad única (Single responsibility principle)
Principio de abierto/cerrado (Open/closed principle)
Principio de sustitución de Liskov (Liskov substitution principle)
Principio de segregación de la interfaz (Interface segregation principle)
Principio de inversión de la dependencia (Dependency inversion principle)
Programación y Arquitectura de Software
¿Qué es Arquitectura de Software?
¿Qué es una Capa?
¿Qué es un Componente?
Programación de Componente
Interacción entre Componentes
Acoplamiento de Componentes
Desacoplamiento de Componentes por medio de abstracciones
Inyección de Dependencia
Introducción a Arquitectura Hexagonal
¿Qué es el Dominio?
¿Qué es la infraestructura?
Puertos
Adaptadores
Arquitecturas Hexagonales con capas extras
Ejemplo con código de Arquitectura Hexagonal
Entities
Puerto Secundario (Puerto de Salida)
Puerto Primario (Puerto de Entrada)
Implementación de Puerto Primario
Creación de Proyecto en Infraestructura
Adaptador Secundario
Adaptador Primario
Inyección de Dependencias en Arquitectura Hexagonal
Ejecución del Programa
Sustitución de Componentes en Arquitectura Hexagonal
Creación de Adaptador Primario API
Instalación de Swagger
Inyección de Dependencias en Proyecto API
Ejecución de Proyecto API
Creación de Adaptador Secundario XML
Implementación de Puerto Secundario en el nuevo Adaptador
Ejecución de API con nueva funcionalidad del nuevo Adaptador Secundario
Ejemplo con código de Arquitectura Hexagonal con 3 Capas
Introducción a la Arquitectura Hexagonal con 3 Capas
¿Dónde van los Puertos?
Creación de Entity Item
Creación de Puerto Secundario IRepository
Capa Aplicación
Creación de Puerto Primario IService
Implementación Puerto Primario (Caso de uso, Servicio)
Capa Infraestructura Adaptadores Secundarios
Creación de Base de Datos
Creación Componente Repository e Instalación de Entity Framework
Creación de Model ItemModel
Creación del Context de Entity Framework
Creación de Adaptador Secundario ItemRepository
Capa Infraestructura Adaptadores Primarios
Creación de App de Consola e instalación de Dependencias
Creación de Archivo de Configuración
Inyección de Dependencias de las Implementaciones
Ejecución de App de Consola
Integrando API en Arquitectura Hexagonal de 3 Capas
Creación de Proyecto API
Configuración del Proyecto
Inyección de dependencias en API
Ejecución del API
Evolución de la Arquitectura con Nuevos Requerimientos
Creación de Entity Note
Uso de Generics en Puertos (Interfaces)
Creación de Caso de Uso NoteService
Creación de Tabla Note en Base de Datos
Creación de Model NoteModel y configuración en Entity Framework
Creación de Adaptador Secundario NoteRepository
Aplicar cambios al Adaptador Primario API
DTOs y Campos Adicionales
DTO (Data Transfer Object)
Creación de DTO en Capa Aplicación
Creación de Repository usando DTO
Creación de Repository usando DTO
Implementación en Adaptador Primario API para uso de DTO
Mappers
¿Qué es un Mapper?
Creación de Puerto Primario IMapper
Creación de Puerto Secundario IAddRepository
Creación de Puerto Primario IAddService
Creación de Caso de Uso NoteMapperService y uso de abstracción IMapper
Creación de Adaptador Secundario NoteMapperRepository
Creación de Mapper que convierte a Entity
Creación de Mapper que convierte a Model
Ejecución de API con Mappers
Fábricas de Objetos (Factories)
¿Qué es una Fábrica de Objetos?
Creación de Puerto Secundario para Fábricas
Implementación de Puerto Primario que usa Fábrica
Repository con Datos Extra
Creación de Fabrica de Repositorios
Mapper que separa la Información Extra
Ejecución de API con Fabricas
Implementación de Múltiples Puertos
Creación de Puertos Secundarios para Completar Tareas
Creación de Puerto Primario Completar Tarea
Creación de Caso de Uso Completar Tarea
Adaptador que implementa de Múltiples Puertos
Completar Tarea desde API
Conclusión y código fuente
Agradecimientos
Planes de Metal Code
Mensual
$10 USD
Es la membresía más económica y que las personas eligen más
- ✔ Acceso a Todos los cursos
- ✔ Acceso al código del curso (si es que aplica)
- ✔ Acceso a cursos en Pre-venta
- ✔ Acceso a cursos exclusivos
- ✔ Certificado de finalización
Trimestral
$25 USD
Si deseas terminar más de 3 cursos, esta es la membresía ideal
- ✔ Acceso a Todos los cursos
- ✔ Acceso al código del curso (si es que aplica)
- ✔ Acceso a cursos en Pre-venta
- ✔ Acceso a cursos exclusivos
- ✔ Certificado de finalización
Semestral
$40 USD
Membresía para las personas que deseen ver más de 5 o 6 cursos
- ✔ Acceso a Todos los cursos
- ✔ Acceso al código del curso (si es que aplica)
- ✔ Acceso a cursos en Pre-venta
- ✔ Acceso a cursos exclusivos
- ✔ Certificado de finalización
Anual
$60 USD
Si deseas ver todos los cursos de Metal Code, esta membresía es la ideal
- ✔ Acceso a Todos los cursos
- ✔ Acceso al código del curso (si es que aplica)
- ✔ Acceso a cursos en Pre-venta
- ✔ Acceso a cursos exclusivos
- ✔ Certificado de finalización