Cuándo es útil la arquitectura Hexagonal? Evita ser El Arquitecturras™️ de tu equipo

  Рет қаралды 33,803

CodelyTV - Redescubre la programación

CodelyTV - Redescubre la programación

Күн бұрын

La Arquitectura Hexagonal es una de las formas más famosas para modelar nuestro código. Hoy vamos a debatir sobre cuando tiene sentido utilizarla, y sobretodo, cuando no.
Curso de Arquitectura Hexagonal: pro.codely.com...
Curso de Arquitectura Hexagonal en el front: pro.codely.com...
﹤🍍﹥ CodelyTV
├ 🎥 Suscríbete: kzbin.info...
├ 🐦 Twitter CodelyTV: / codelytv
├ 🧔🏻 Twitter Javi: / javiercane
├ 💂‍♀️ Twitter Rafa: / rafaoe
├ 📸 Instagram: / codelytv
├ ℹ️ LinkedIn: / codelytv
├ 🥋 Academy: codely.com/aca...
└ 📕 Catálogo cursos: bit.ly/cursos-...

Пікірлер: 36
@axomme
@axomme Жыл бұрын
Buenísimo video, comparto totalmente todo lo que habéis comentado. También el aplicar arquitectura hexagonal depende mucho de hacia donde se visualiza que llegue el proyecto.
@javiergavilanmerida2133
@javiergavilanmerida2133 Жыл бұрын
35:00 Tal como lo entiendo yo, el repository debe pertenecer a la capa de dominio porque solo debe cumplir las reglas de dominio (y no tanto las de aplicación, que van en su propia capa). Para eso quizás primero debería explicar que entiendo por reglas de dominio: Son las reglas comunes de negocio que se comparten entre todas las posibles aplicaciones. Esto tiene sentido sobretodo en contextos empresariales, donde es normal que existan muchas aplicaciones que en el fondo trabajen con un mismo dominio que puede ser montado en una librería a parte (aunque muchas veces esto no se hace, provocando duplicidad que termina dando lugar a errores evitables...). Actualmente por ejemplo, trabajo en un producto donde solo por parte de mi equipo, existen tres aplicaciones distintas que trabajan sobre un mismo dominio (Eso sin contar los procesos batch, que están repartidos entre varias otras aplicaciones). Esto también quiere decir que no hay que abusar de los repository... por ejemplo, es admisible que en algunos casos concretos donde se necesiten un subconjunto de datos, se devuelvan más datos de los necesarios que a posteriori se filtren en la capa de aplicación, o que se invoquen dos métodos del repository en lugar de solo uno (siempre y cuando esto no suponga un gran impacto; o dicho de otra forma, simplemente no optimices de forma prematura)
@KevRud
@KevRud 8 ай бұрын
Yo estoy aprendiendo a programar y desarrollar y me llegué a marear con tantos patrones de diseños y de arquitectura. Entre tanto, me perdí y no sabía por donde comenzar ni que patrón aplicar. Al final me frustré y me estanqué por mucho tiempo. Ahora continúo viendo estos vídeos para aprender y lograr entender cuando sí cuando no. Gracias.
@codigito
@codigito Жыл бұрын
que bueno jajajajaja de 10 !! yo creo que a veces se entra en modo arquitecturras pero mola mola :) un placerako como siempre y un saludote a tope para tod@@@@ssss !! a tope codeeeeee
@Murzbul
@Murzbul Жыл бұрын
Excelente video! El repository es una mini capa intermedia entre el dominio y la infra. Yo la suelo poner en la infra y que siempre me devuelva una interfaz. Ademas tengo casos de uso directamente y explicitamente en la capa de dominio ya que el dominio es el que me representa la logica de negocio y no la de application. (Por lo menos desde mi punto de vista). Cada caso de uso queda completamente abstracta ya que lo puede usar cualquiera y ademas internamente tiene DI para poder cambiar la persistencia, que puede ser mongo a sql o incluso usar un API para un servicio.
@javiergavilanmerida2133
@javiergavilanmerida2133 Жыл бұрын
50:21 Comparto completamente lo que dice Sergi de Pablos. Al menos en las consultoras, se ha hecho mucho hincapié en tener equipos felices, y extremadamente poco en hacer software de calidad que realmente entregue valor. Eso no significa que sea malo tener equipos felices... pero el no haber hecho el suficiente hincapié en el desarrollo de software de calidad, ha provocado que exista mucha mierda en producción. En mi experiencia laboral, y he pasado por bastantes proyectos, solo he visto un equipo que realmente hacía hincapié en eso... en el resto, como mucho lo hacían a medias. Y claro, como ignorar que se debe desarrollar software de calidad (o solo hacerlo a medias) se traducía en un software de mierda (ya sea en forma de bugs o en complejidad para ejecutar los cambios solicitados), eso normalmente termina generando equipos más infelices, por mucho que se esforzasen en lo contrario. De hecho, la de proyectos inmantenibles y plagados de bugs que he visto porque se ha exigido usar tecnologías/arquitecturas que no tenían sentido en el contexto de la aplicación y olvidándose de todo lo demás (incluido el enseñar como usar dicha tecnología/arquitectura)... en fin, es que simplemente son demasiados para contarlos.
@fdorantesm
@fdorantesm Жыл бұрын
Con el tiempo he aprendido a predecir qué proyectos escalarán al grado de que sea casi imposible refactorizar en el día a día y cuáles se quedarán casi como nacieron.
@javea6572
@javea6572 Жыл бұрын
Eso es aplicar la metodología GRASP
@edupaes82
@edupaes82 Жыл бұрын
Si no conoces a nadie que sea "El Arquitecturras" es porque tú eres "El Arquitecturras" 😂
@carloscosming
@carloscosming Жыл бұрын
Buen contenido como siempre. 👏🏻 Respecto a lo comentado de la capa de dominio y sus repositorios, no es peligroso exponer entidades y sus repositorios fuera del dominio y dejar que la capa de aplicación modifique directamente los estados del dominio y emita los eventos? se supone que para eso son los agregados, los factories o los servicios de dominio no?? Tienen contenido sobre Rich Domain Design? Sería interesante que pudieran hablar bajo su experiencia respecto a este tópico, ya que me he topado con muchos proyectos donde implementan escandalosamente mal DDD. 😅
@chechomancr4
@chechomancr4 Жыл бұрын
En el libro "Domain-Driven Design in PHP" de Carlos Buenosvinos, se explica sobre "Anemic Domain Model" vs "Rich Domain Model".
@embusteroso
@embusteroso Жыл бұрын
recien los descubro! excelente canal
@scala3898
@scala3898 Жыл бұрын
Padre!!! Lo de la arquitectura!!! Entérese ahí de lo que están arquitectando Padre
@kaik3705
@kaik3705 Жыл бұрын
100% con vosotros, con el ejemplo de cambio de mysql a sqlite pude ser que la gente de esa argumentación, pero... ¿qué tal con el ejemplo de enviar un SMS, o cambiar de proveedor de email? Esto es algo que suele suceder más a menudo. Puede que por ahí entre más fino el paradigma. Abrazo crackens!
@kevintc92
@kevintc92 Жыл бұрын
Todo en el desarrollo es un “Depende” pero siempre tratar de hacer código escalabre para no tener los clásicos problemas del “día 2”
@JosbecAlexanderCoyotziRosas
@JosbecAlexanderCoyotziRosas Жыл бұрын
Lo que si nadie puede negar es que le saben y un buen, ahora el hex bueno es a gusto claro está que si se necesita una arquitectura para organización y más cuando se trabaja en equipo, pero cada quien puede establecer su propia arquitectura lo que siento incómoda es que esto lo “venden” como la única solución
Жыл бұрын
Esta super bueno, de hecho todos los videos que he visto de ustedes estan muy muy buenos, muchas gracias.. Solo un favor, no soy Español jejeje alguien puede explicarme que quiere decir cuando dicen por ejemplo "DDD no significa fliparse; no es flipadismo" jajaja no entiendo que quieren decir con eso !!! que es fliparse ??
@javea6572
@javea6572 Жыл бұрын
¿Qué se sabe de metodología GRASP?.... dicen que es para realizar programación heurística, de manera que "antes" de dar una solución a un problema aplicando patrones GOF, se previene antes el uso de algunas de esos patrones centrandose sobre todo en el "acoplamiento" del código
@mayordan9187
@mayordan9187 Жыл бұрын
La curva del flipadismo jajaja debo decir, que soy culpable. Jeje 😅
@TheDojoMX
@TheDojoMX Жыл бұрын
Este tipo de videos hacen mucha falta, creo que fliparse está muy bien porque es una forma de de aprender, pero lo peligroso es qué hay gente que nunca se desciende del pico de la curva porque hacer código complejo les da un sentido de importancia.
@CarlosDiaz-vp5wl
@CarlosDiaz-vp5wl Жыл бұрын
se le da mucho bombo a la arquitectura hexagonal pero al final es una forma de organizar los paquetes. que mas te da si la inferfaz del servicio esta en una paquete qeu se llama servicio y la implementacion dentro del de serivico en implementacion que el servicio en aplicacion y la implementacion en dominio? que este en un paquete o en otro no aplica una diferencia. la forma de programar si
@pimpilimpauskas
@pimpilimpauskas Жыл бұрын
Buen video
@bobobo1673
@bobobo1673 Жыл бұрын
La arquitectura hexagonal tiene sentido en Frontend?
@diegobejardelaguila8614
@diegobejardelaguila8614 11 ай бұрын
Definitivamente
@javea6572
@javea6572 Жыл бұрын
a ver.. eso se llama Síndrome de Dunning Kruger.. pero eso no niega que la arquitectura que se aplica en mi empresa y en el código, lo llaman "DDD" porque lo tienen divididos por capas... pero resulta que todo el dominio depende de primero crear la tabla y campos en SQL Server... me baso en la calidad de código y el soporte ofrecido por SOLID y resto de clean code.. luego se ajusta en la arquitectura del software....
@rubenboada2984
@rubenboada2984 Жыл бұрын
Propongo el concurso "¿Pragmatismo o desconocimiento?". Se descubre un codigo y hay que determinar cual ha sido el motor de dicha implementación. Como primer concursante El Arquitecturras™️ : "pero esto que es!!?? niño, lo de la hexagonal ahi buena! Jefe, la 'dolorosa' del Redis! pero que sa roto aquí!!! Lo de las capas, que sepa usted lo de las capas, es que no saben..."
@wilfredodice7972
@wilfredodice7972 Жыл бұрын
Pero la realidad es que mucho ni siquiera se han leido el articulo donde ese dr. trata de explicar los que significa hexagonal que de paso, ni el mismo supo explicar. y a la final dice que todo se trata de intuicion, que inrresponsable, un dr con tanto aporte libros y al final de su carrera salga con esto. lo que hizo fue a venir a crear un enrredo y no aporto nadaaaaaa pero nada.
@aibou2399
@aibou2399 Жыл бұрын
Ya de por sí el que haya elegido 6 lados (hexagonal) para describirlo... totalmente arbitrario. Son los principios que ya existían, pero se empaquetaron en una jerga nueva para revenderlo a las nuevas tribus...
@moviedomof
@moviedomof Жыл бұрын
Ojo al piojo y no siempre el problema es cambio de BD y lo mas importante es la testeabilidad . Hay miles de cosas más como ISecurity( Lightweight Directory , active directory, linux), ICahce (redis,memcached, etc ) IEmail (y sus mil formas de manejarlo x APIs , x SMTP provider) y mas ejemplos.. Hay muchas cosas que conviene hacerlas con Interfaces + ClasesConcretas Y en mi historia me vi muchas veces con la necesidad de reescribir la clase que impleenta pero sin cambiar la Interfaz . Con lo cual el core-engine de desarrollo Sigue sin sufrir el caos de la re-escritura de codigo Y nos ahorro miles de horas de trabajo ya que habiamos hecho todo orientadora Interfases (Servicios SOA)
@guzidev
@guzidev 3 ай бұрын
Hola me presento: soy el capitas 🤣
@jcramireztello
@jcramireztello Жыл бұрын
El Arquitecturras es el pariente cercano del Arquitecto power point
@CarlosCalleMedina
@CarlosCalleMedina Жыл бұрын
jaja Mr. Refactor
@leooliver2639
@leooliver2639 Жыл бұрын
Muy acoplado a la programación orientado a objetos
@ChoquePerez
@ChoquePerez Жыл бұрын
Entonces que soy? 😢
Mejora la Calidad de tu Código utilizando Value Objects
16:20
CodelyTV - Redescubre la programación
Рет қаралды 38 М.
Diferencias entre Value Object vs Entidad vs Agregado
19:33
CodelyTV - Redescubre la programación
Рет қаралды 21 М.
Правильный подход к детям
00:18
Beatrise
Рет қаралды 11 МЛН
coco在求救? #小丑 #天使 #shorts
00:29
好人小丑
Рет қаралды 120 МЛН
She made herself an ear of corn from his marmalade candies🌽🌽🌽
00:38
Valja & Maxim Family
Рет қаралды 18 МЛН
Enceinte et en Bazard: Les Chroniques du Nettoyage ! 🚽✨
00:21
Two More French
Рет қаралды 42 МЛН
Por qué no puede haber SOLID sin Eventos de Dominio
21:14
CodelyTV - Redescubre la programación
Рет қаралды 13 М.
Qué cambió mi forma de ver la Arquitectura de Software
56:11
CodelyTV - Redescubre la programación
Рет қаралды 37 М.
The Right way to write Nest.js & Typescript clean-code - SOLID
17:55
I Spent 100 Hours Inside The Pyramids!
21:43
MrBeast
Рет қаралды 46 МЛН
ПЛЮСЫ и МИНУСЫ 1 и 2 смены в школе 🔥
0:39
Никита Удановский
Рет қаралды 3,5 МЛН
Самые простые строительные леса
0:54
Канал ИДЕЙ
Рет қаралды 1 МЛН
Satisfying Vend 😦 Ep.5 #shorts #satisfying #vendingmachine
0:23
TYE Arcade
Рет қаралды 17 МЛН
В Европе заставят Apple сделать в айфонах USB Type-C
0:18
Короче, новости
Рет қаралды 1,1 МЛН
Проверил, как вам?
1:01
Коннор
Рет қаралды 964 М.