🎯 Plantilla de Clean Architecture para .NET: arquitecturalimpia.com/ Spoiler: La Arquitectura Hexagonal es una de las arquitecturas limpias.
@ericcarvajalcortes52069 ай бұрын
Manuel seria genial que vovieras a hacer videos, ni te imaginas lo mucho que mejore como arquitecto contigo. Si sigues al menos yo siempre voy a estar ahi!!
@ManuelZapata9 ай бұрын
Gracias Eric por tu comentario. No sabes cuánto lo aprecio!
@pabloguillermoalarcon166511 ай бұрын
Muchas gracias por la explicación, vengo de hacer aplicaciones monolíticas y me ayudo entenderlo perfectamente. Para mi la mejor explicación de como entender la arquitectura hexagonal.
@Betroid662 ай бұрын
En pocas palabras, la arquitectura hexagonal es la arquitectura en 3 capas cuando se hace bien (usando interfaces en la comunicación entre capas). El tal Alistair es un genio, fue capaz de definir una cosa que existía con otros nombres y venderlo como algo nuevo! :D
@pilarrodriguez50823 жыл бұрын
¡Gracias! Fue una explicación muy clara para entender rápidamente
@diegodmdsoftware4 жыл бұрын
Excelente Manuel, esto nos da un mejor panorama para modelar de mejor forma nuestras aplicaciones, sería interesante se continuara con este mismo tema profundizando en temas que consideres relevantes. Gracias. Saludos
@ManuelZapata4 жыл бұрын
Gracias Diego! Voy a continuar esta serie.
@alexmeza68202 жыл бұрын
Que buena explicacipon Manel, excelente correlación entre la explicación teórica y la parte practica.
@geovannyriosabarca26784 жыл бұрын
¡Excelente vídeo, Manuel! Sería genial que toques el tema de Clean Architecture, se ve muy interesante al igual que DDD.
@ManuelZapata4 жыл бұрын
Listo Geovanny! Gracias por la recomendación.
@robinlantigua81414 жыл бұрын
@@ManuelZapata Estoy de acuerdo con Geovanny, creao que deberias tocar mas el tema Clean Architecture.
@elvargas13273 жыл бұрын
Esperando clean architecture :)
@davidunivalle Жыл бұрын
Manuel, que buen trabajo. Gracias por este valioso aporte!
@Colmedoherman3 жыл бұрын
Excelente explicación, habia escuchado hablar sobre esta arquitectura, pero no sabia en que consistia, ahora todo tiene sentido gracias por compartir ;)
@ManuelZapata3 жыл бұрын
Es con todo gusto, Carlos!
@kanasg324 жыл бұрын
Manuel eres un PRO... muy claras tus explicaciones me gustaría escucharte hablando de MVVM
@ManuelZapata4 жыл бұрын
Voy a proponerlo para futuros temas, a ver qué tanto interés genera. Saludos!
@ferolmos54004 жыл бұрын
Excelente video Manu, recientemente estoy tratando de aprender arquitectura y tu canal es una joya es bastante fácil entender los conceptos y empezar a llevarlos a mis proyectos, gracias por tu aporte
@ManuelZapata4 жыл бұрын
Con todo gusto Fer!
@juanestebanlondono53364 жыл бұрын
Excelente video, esa información me esta sirviendo una tonelada, y lo practico que haces los ejemplos, muchas gracias manuel
@ManuelZapata4 жыл бұрын
Me alegra mucho leer eso! 🙌 Saludos Juan!
@jhonfredymartinezrealpe95274 жыл бұрын
Hola Manuel, nuevamente la sacaste del estadio... Excelente explicación, nos permite tener un panorama más claro de esta arquitectura y principalmente que nos aclaraste que NO necesariamente hexagonal y DDD deben ir de la mano, era algo que me entendía. Sería bueno una serie de videos con ejemplos de cómo implementar la aplicación del hexagono (lógica de negocio) utilizando diferentes patrones arquitectonicos como capas, quizá microservicios, etc... y principalmente con DDD...
@ManuelZapata4 жыл бұрын
Me alegra que te haya gustado el vídeo Jhon Fredy. Lo prometido es deuda! Poco a poco iremos profundizando en estos temas. Hay mucho por explicar y decir. Lo bueno es que este vídeo ha gustado. Seguiremos profundizando l! 🙌
@lexplay853 жыл бұрын
Primera vez que veo tus videos y están geniales. Me gustaría ver esto aplicado con SpringBoot o migrando micoreservicios a arquitectura hexagonal.
@miguelperezpal3 жыл бұрын
Excelente presentacion! Muy buen trabajo Manuel
@ManuelZapata Жыл бұрын
Conoce mi curso de Arquitecturas Limpias 👉platzi.com/arquitecturaslimpias Si no te tienes suscripción en Platzi, usa mi enlace de afiliado: platzi.com/l/manuelzapata/
@carlosdanieldossantosrojas73612 жыл бұрын
gracias!!! messirve,quiero aprender mucho mas
@jorgeperalta97802 жыл бұрын
Excelente hermano, gracias!
@sshmoothie3 жыл бұрын
Que buen video, muchísimas gracias.
@cristianco92 жыл бұрын
excelente explicación amigo. Gracias!
@micortes893 жыл бұрын
Muy bien explicado. Me gustó mucho. gracias!
@rad83294 жыл бұрын
Buen video Manuel, sería muy bueno 2 cursos, uno abstracto para modelar el negocio con DDD, y otro bien aplicado con clean architecture
@ManuelZapata4 жыл бұрын
Vamos a ver como profundizamos en el tema. DDD es un tema muy amplio y complejo. Gracias por la sugerencia!
@gtiradob Жыл бұрын
Primero vi este video y no me quedó muy claro, pero luego de profundizar bastante en los principios SOLID, volví a verlo y ahora sí me quedó super claro. Podríamos decir que Springboot está orientado a esta arquitectura cuando usamos JPA por ejemplo?
@ManuelZapata Жыл бұрын
No necesariamente Gabriel. El uso de JPA y Spring Boot no te garantiza que se siga una arquitectura hexagonal.
@dev.martin61564 жыл бұрын
uuufff que bien, muchas dudas resueltas, se te agradece crack
@ManuelZapata4 жыл бұрын
Para eso estamos Martin! 🙌
@edwinvanegasS3 жыл бұрын
Excelente muchas gracias por la explicación
@eduardog.r.11482 жыл бұрын
Muy buena introduccion y muy interesante canal!
@tanacing347 Жыл бұрын
Gracias Manuel!!!!
@luisvicentearevalorios7221 Жыл бұрын
Se agradece crack, mil gracias
@ManuelZapata Жыл бұрын
Con el mayor de los gustos, Luis!
@gabokings2603884 жыл бұрын
Súper el video, hay pocos recursos en español te felicito, deberías hacer tmb sobre clean architecture, cqrs
@ManuelZapata4 жыл бұрын
Esos son 2 de mis grandes pendientes. Saludos Gabriel.
@Coderos4 жыл бұрын
¡Muy buen video!
@ManuelZapata4 жыл бұрын
Gracias Coderos! 💪
@oduber.vasquez4 жыл бұрын
Muchas gracias Manuel!
@ManuelZapata4 жыл бұрын
Con gusto!
@CAGUANET1214 жыл бұрын
Muchas gracias Manuel
@ManuelZapata4 жыл бұрын
Con todo gusto Leandro!
@oscarvinueza7623 жыл бұрын
Excelente vídeo, me gustaría que profundizaras más en los detalles de la implementación de esta arquitectura con DDD y con clean porfa
@jhonnylopezr.5454 жыл бұрын
Muchas gracias por el video. Muy buen material.
@ManuelZapata4 жыл бұрын
Excelente Jhonny. Gracias!
@Magistrado19143 жыл бұрын
Excelente vídeo Visto en 03/03/2021
@stivensonRincon4 жыл бұрын
Buen vídeo. Gracias. Siempre había tenido ciertas dudas sobre como explicar el por que de usar los repositorios.
@ManuelZapata4 жыл бұрын
Me hiciste pensar en un vídeo explicando los repositorios 🤔. Saludos Stivenson!
@edwinlozano68913 жыл бұрын
Me suscribo para ver más tarde este video!
@amedeca5 ай бұрын
Hola. Tienes de pronto el git del proyecto para ir siguiendo el codigo?
@__renesan3 жыл бұрын
Gracias
@DamCipolat3 жыл бұрын
Muy bueno me sirvio el video te agradezco por compartirlo
@ManuelZapata3 жыл бұрын
Que bueno, Damián!
@andresnator4 жыл бұрын
Hola Manuel, chévere el vídeo, me gustaría cuando hablaras de clean architecture profundizar entre enterprise business rules y application business rules. Es un tema de mucha controversia, de igual manera las rules exceptions
@ManuelZapata4 жыл бұрын
Entendido Andrés! Vamos a ver cómo lo abordamos
@alvarofuenzalida27534 жыл бұрын
Excelente video! Encantado de conocerte, ya me suscribí
@ManuelZapata4 жыл бұрын
Bienvenido Alvaro por estos lados!
@MiguelOrregoC3 жыл бұрын
En la arquitectura hexagonal con DD crea un arquitectura donde, es una manera como lo veo la primera capa recibe la información en un formato DTO y valida el tema de seguridad (Si tiene acceso o no) la segunda capa ya es la validación de información, previa conversión de DTO a estructura de datos y se valida si cumple con los datos necesarios para ejecutarla el proceso de lógica de negocio que es la tercera capa donde se ejecutan las actualizaciones, registro de los mismos, agregar, eliminar, procesos, etc. que te parece
@jairojuradoable4 жыл бұрын
Gracias Manuel, que bueno un video donde nos muestres como utilizar DDD y arquitectura limpia en el desarrollo de una Aplicación.
@ManuelZapata4 жыл бұрын
Genial Jairo! Para allá vamos. Tengo que abordar unos conceptos primero antes de saltar a esos temas.
@densr11774 жыл бұрын
Muchas gracias muy buen tema.
@ManuelZapata4 жыл бұрын
Con gusto Den!
@xReDCrIsTx4 жыл бұрын
Podrías explicar cómo implementar ddd, clean architecture, hexagonal en lenguajes como no tipados como python? Porque si bien se vende como que estas arquitecturas son agnósticas del lenguaje, despues cuando uno busca ejemplos de implementación en kotlin o java hay muchos ejemplos y de python por ejemplo no hay casi nada. También estaría bueno si puedes comentar por qué crees que sucede esto. Muy bueno el video!
@ManuelZapata4 жыл бұрын
Hola Lucius! Es interesante lo que comentas. Mi impresión es que hay ciertas arquitecturas que adoptan ciertas comunidades y otras no, y por eso no se ven tantos ejemplos. Es solo una teoría que tengo. Algunos ejemplos: Clean Architecture se ve mucho en .NET Hexagonal la he visto más por los lados de Java Patrones como Active Record los he visto más por el lado de PHP y Ruby. Respecto a los otros temas, ya iremos llegando a ellos. Quiero ir explicando las bases antes de saltar a temas más avanzados.
@christdeveloper4 жыл бұрын
Lo que dices es preciso. Si bien esa arquitectura sirve para proyecto de gran escalabilidad, donde Python precisamente es uno de los que mejor se desenvuelve. Al uno buscar documentación de cómo implementarlo en Python, no hay. Me parece que para las mismas personas que exponen estos temas, se les hace complicado implementarlo en Python. Es mi apreciación.
@oscarmera35804 жыл бұрын
Súper chevere Manual, sería bueno hablar también de monolitos modulares. Saludos.
@ManuelZapata4 жыл бұрын
Anotado Oscar. Gracias por la recomendación!
@titobundy4 жыл бұрын
Buenas, me gustaría un video donde comparemos los pro/contra, o similitudes/diferencias entre clean architecture y vertical slice architecture
@ManuelZapata4 жыл бұрын
Buena idea!
@snithfferx Жыл бұрын
En otras palabras es el modelo vista, controlador, modelo o MVC. o por lo menos el que yo conozco, o como lo entendí. Últimamente he estado creando, algo relativamente parecido a un framework, pero no lo es, no hace tanto como un framework, pero ya da las bases, resolución de rutas, de controllers, ahora le estoy metiendo ORM para tratar de forma diferente la comunicación a la base de datos. Lo que me gusto de to video es lo claro que dejaste cada punto, hasta que te pusiste con el código, creo que alli escuche chino mandarin no optimizado. pero igual. Muchas gracias por aclarar varias de mis dudas.
@ManuelZapata Жыл бұрын
Esto es diferente a MVC, Jorge. En MVC, el acoplamiento entre modelo, vista y control es mucho más marcado.
@snithfferx Жыл бұрын
@@ManuelZapata A poss, yo lo uso mal, porque así como explicas ese modo de programar así hago yo... bueno con algunos cambios adicionales.
@thedarsideofit3 жыл бұрын
Muchas gracias por el contenido! Se agradece más contenido de este estilo con DDD, TDD y BDD
@DrivingScape Жыл бұрын
Buen video!
@ManuelZapata Жыл бұрын
Gracias!
@krashdata4 жыл бұрын
Excelente video tienes un nuevo sub.
@ManuelZapata4 жыл бұрын
Bienvenido por aqui DevGuerrero!
@luiseduardogranadaorozco62173 жыл бұрын
Siendo bien puristas en el Clean Architecture con arquitectura hexagonal, si lo voy a implementar en un proyecto con jpa las entidades de anotadas con jpa deberían estar aparte de la capa APPLICATION. Es decir las entidades anotadas con JPA deberían hacer parte de Database API ?
@mobilsoftsas10524 жыл бұрын
Hola Manuel excelente video. Quisiera preguntarte como aplicar diferentes bases de datos como Mysql, Sql server y Postgres para que trabaje con una aplicación en angular 9 y nodej.js, sin usar ORM sino procedimientos almacenados y funciones propias.
@ManuelZapata4 жыл бұрын
No puedo darte mayores detalles porque nunca he hecho esa implementación, pero supongo que una vez descubras como llamar un procedimiento almacenado desde Node.js, habrás resuelto lo más difícil.
@yamillanz63984 жыл бұрын
NIce!!!!👍 ...cuando puedas profudiza sobre DDD ...gracias
@ManuelZapata4 жыл бұрын
Vale! De DDD hay mucho que hablar. De a poco lo iremos abordando.
@AndresLobaton3 жыл бұрын
Videasaso!!
@itmarck4 жыл бұрын
Gracias por la información. Cuando las diferentes capas de una arquitectura están en diferentes lenguajes, cómo se acoplan?
@ManuelZapata4 жыл бұрын
REST o mensajería son alternativas para esto. Te recomiendo este video: kzbin.info/www/bejne/gIKoemWDj8xraLM
@rikurdog314 жыл бұрын
Buen video manuel pero he intentado ver como se susbribo como miembro pero no se muestra el link en el canal, el video de arquitectura limpia te muestra el de arquitectura hexagonal
@ManuelZapata4 жыл бұрын
Hola Ricardo! Este es el link para que veas toda la información de la membresía: kzbin.info/door/s5ccxrTx9k8DN9YXnHm5AQjoin Si estás en tu laptop o en computador de escritorio, vas a ver un botón "Unirse" debajo del video. Saludos!
@maopuerta34304 жыл бұрын
Excelente. Manuel el enfoque del testing en este tipo de arquitecturas como sería? . En relación a unitarias, integración ( componentes, contract test) y E2E
@ManuelZapata4 жыл бұрын
La idea es que las pruebas también accedan a la aplicación a través de un puerto. Saludos!
@Yousudame3 жыл бұрын
TDD + DDD Real Example
@luismarquez19384 жыл бұрын
Cómo manejas las llaves foraneas entre diferentes api ? gracias, buen vídeo!
@ManuelZapata4 жыл бұрын
A qué te refieres Luis? Podrías elaborar un poco más?
@JeanpierreCajoHernandez4 жыл бұрын
Muy buen vídeo Manuel unas consulta que diferencia hay entre arq. hexagonal y clean arquitecture. y Al usar estas arquitecturas es obligatorio utilizar ORMs?
@ManuelZapata4 жыл бұрын
Clean architecture toma ideas de la arquitectura hexagonal. El uso de un ORM no es obligatorio. Saludos!
@faller2223 жыл бұрын
No. Pero deberias temer tus queies lejos de la aplicacion, ofreciendo metodos como findAll o findById etc..
@faller2223 жыл бұрын
Queries
@victorlluen51872 жыл бұрын
Buena explicación, no esta el articulo original en la descripción
@ManuelZapata2 жыл бұрын
Ya está. Te lo dejo por aquí también: alistair.cockburn.us/hexagonal-architecture/
@paulkremser23364 жыл бұрын
Hola Manuel, estoy desarrollando software en esta arquitectura(+DDD), y me gustaría documentar bien el trabajo. (En la empresa en la que estoy trabajando tienen muy malos hábitos). Estaba viendo en hacerlo en C4, pero la verdad se vuelve bastante complicado por las ideas y venidas que tiene el recorrido de la información. Que me recomiendas?
@ManuelZapata4 жыл бұрын
El modelo C4 es muy útil. Lo que yo haría es eliminar los detalles que no sean estrictamente relevantes. Hay cosas simples, como los CRUDs que no necesitan representarse en los recorridos de información.
@paulkremser23364 жыл бұрын
@@ManuelZapata muchas gracias por el consejo!
@paulomirandaarias9544 Жыл бұрын
Me queda la duda, un cronjob, que se ejecuta desde la bdd hacia la aplicación, y luego actualiza al front, sería un actor principal o secundario? Ya que la acción se inicia desde bdd, y va a depender de los datos el cuándo, cómo y qué se gatille, y el front va a ser un mero espectador donde quizás despliega una notificación
@ManuelZapata Жыл бұрын
En ese escenario, la BD sería un actor primario y el frontend secundario.
@IngCesarVelasquez4 жыл бұрын
Muy buen video
@ManuelZapata4 жыл бұрын
Gracias Cesar!
@z3r1t04 жыл бұрын
A aplicar lo escuchado...
@ManuelZapata4 жыл бұрын
🙌
@n4sh54 жыл бұрын
Muy buen videoo justo voy a empezar a ver eso donde trabajo, una consulta la arquitectura hexagonal se le considera clean architecture? Saludos
@ManuelZapata4 жыл бұрын
Saludos Kevin. La arquitectura hexagonal es una de las arquitecturas en que se inspiró Clean Architecture. Son dos cosas diferentes. Sin embargo, hay personas que hablan de las "arquitecturas limpias", como una categoría, y ahí ponen hexagonal, cebolla, y otras.
@xavif56842 жыл бұрын
Lo que pasa, que un adaptador depende de otro aquí. Si te fijas el console depende de persistence, ya que inicializa el InMemoryMembershipRepository. Esto es normal? (que un adaptador depende de otro???) PD: Gracias por el vídeo! me gustó mucho
@misaelpereira96792 жыл бұрын
Cockburn: Poll4 encendida 😳😳
@insecureup4 жыл бұрын
Vamos lo de siempre, segmentar, reducir y aislar.
@ws28934 жыл бұрын
Interesante, entonces lo que accede la lógica del negocio en este caso son las interfaces? En dónde tenemos los métodos comunes de un CRUD?
@ManuelZapata4 жыл бұрын
La lógica de negocio está en la capa de dominio, y las interfaces definen el contrato que se espera implemente la capa exterior. Los métodos comunes de un CRUD igual van en la capa exterior ya que es la tiene acceso a dependencias de terceros, como la BD.
@edwardrm81 Жыл бұрын
Cual es la diferencia entre puertos y adaptadores?
@barbarajimenez68504 жыл бұрын
Que arquitectura utiliza laravel ?
@ManuelZapata4 жыл бұрын
Buena pregunta. Que algún experto por aquí en Laravel nos aclare.
@SagitGtz4 жыл бұрын
¿Un actor primario podría ser un controlador y en actor secundario un repositorio?
@ManuelZapata4 жыл бұрын
Así es! Esos son muy buenos ejemplos.
@cristoferpadilla93264 жыл бұрын
Cuando un video sobre Clean Architecture?
@ManuelZapata4 жыл бұрын
Ya veremos. Está en la planeación!
@bryanstevencardenasmontoya38234 жыл бұрын
Manuel, a la hora de inscribirme a tus mini cursos, nunca termina de cargar la subscripción. Podrías revisar eso... gracias.
@ManuelZapata4 жыл бұрын
Ya pasó un buen tiempo. Espero que se haya podido solucionar. Si no, me cuentas.
@juliocesarherazotorres34082 жыл бұрын
Me gusta que haya puesto ejemplos en código pero me cuesta identificar a que capa pertenece las clases e interface que se usa. Sólo logro identificar que la consola hace parte de la capa de infraestructura, pero las demás no puedo identificar a que capa pertenece. Por ejemplo la interface repository
@ManuelZapata Жыл бұрын
Las interfaces pertenecen al dominio.
@robertomejia31243 жыл бұрын
Alguien conoce algun tuto donde se aplique este tipo de arquitectura en C#, Laravel, Flutter ?
@christdeveloper4 жыл бұрын
Cómo sería la estructura de carpetas de esta arquitectura, para una aplicación en Python?
@ManuelZapata4 жыл бұрын
En principio necesitas tener una carpeta para el core (lo que en el vídeo se llama aplicación) y otra para la infraestructura. De ahí para allá, pones el resto de detalles. Búscate en GitHub, que hay varios ejemplos de hexagonal en distintos lenguajes.
@KtoCharlieGolf3 жыл бұрын
la arquitectura 3 capas de toda la vida no se refiere al código, no es comparable con lo mal llamado hexágono, esto es un patrón de diseño
@fabriziopastor61463 жыл бұрын
¡ Hola ! soy nuevo en esto de la programación, tengo una consulta, he visto en varios tutoriales o repositorios hacer referencia a algo llamado Mock, server Mock y cosas así pero no llego a entender a que se refiere. ¿Alguien me puede explicar esto ? :)
@ManuelZapata Жыл бұрын
En mi canal tengo un video sobre mocks!
@williamjmendoza2 жыл бұрын
Gracias por el vídeo. Interesante. Lo único es que no estoy de acuerdo cuando dices que se invierte la dependencia y la base de datos depende de la lógica de negocio. Realmente sigue siendo al revés tu lógica de negocio esta acoplada a una interfaz de la base de datos, que es la interfaz del repository. Si bien tienes razón no está acoplada al detalle de la implementación que se puede resolver por inyección de dependencias o como lo hiciste aquí en tu método main.
@LocalGhost_80803 жыл бұрын
Me parece genial pero estoy muy perdido. No sé cómo implementar esto ai estoy usando un framework. P. e. justo estoy usando typegraphql y no sé cómo hacerle para desacoplarme porque esta cosa usa las class reflection para generar los schemas y a parte el orm también usa mis classes para ejecutar las migrations... alguien podría darme un consejo para investigar?
@androidpc76033 жыл бұрын
Eso a fin de cuentas es mvc con otros nombres
@ManuelZapata3 жыл бұрын
¿Por qué lo dices? De qué manera lo relacionas?
@alejandrojaime13854 жыл бұрын
Es un parche esa arquitectura hexagonal algo bien construido no lo necesita
@ManuelZapata4 жыл бұрын
Yo no diría que es un parche. Pero si es claro que esto no aplica para todo tipo de sistemas. Un debate interesante sería definir qué significa que una aplicación esté “bien construida”.
@rguere4 жыл бұрын
Habla sobre DDD, posiblemente muchos no estan acostumbrado con el concepto
@ManuelZapata4 жыл бұрын
Posiblemente no, y es muy importante. Ya iré hablando sobre ese tema en el canal. Saludos!
@compartelo0073 жыл бұрын
kzbin.info/www/bejne/nZ20nXpjgsqLatk podrías opinar sobre lo que se dice en este vídeo de la arquitectura hexagonal a partir del minuto que dejo en el enlace. Gracias
@enriquer007 Жыл бұрын
O me he hecho viejo o esto es mucha payasada. Tiene partes de lo que se hace en la arquirectura de microservicios, en la SOA de hace 15 años Llamarle hexagonal a esto. Enfin el candidato que me saque esto en su cv para dárselas y sea medio senior, lo descarto rapidito
@ManuelZapata Жыл бұрын
OK
@felipemedinasalvatierra20942 жыл бұрын
Buena explicacion pero este tipo de arquitectura disque, no traen nada nuevo tan solo cambian nombre a todos.
@ManuelZapata2 жыл бұрын
Podrías profundizar un poco? A qué otras cosas le cambia el nombre?
@felipemedinasalvatierra20942 жыл бұрын
@@ManuelZapata bueno como por ejemplo puerto por controlador, adaptador por vista, interfaces por puertos y adaptadores secundarios. Tan solo es la arquitectura mvc, o si quieres el estilo arquitectonico tradicional en capas + DIP.