Тёмный

Qué es Clean Architecture ? cómo aplicarlo a tu aplicación Front End ? 

Gentleman Programming
Подписаться 57 тыс.
Просмотров 37 тыс.
50% 1

Buenas buenas mi gente !
El webinar dado por quién les habla sobre Clean Architecture !
La arquitectura perfecta, la seleccionada por los mismos dioses para que un project salga perfecto ! Pero tiene sus problemáticas y desventajas. También vemos cómo se aplicaría a un project Front End.
A por ello !
Si quieres hacer una donación:
streamelements...
▬ Links de interés ▬▬▬▬▬▬▬▬▬▬
Link a Spotify: spoti.fi/3y281cY
Link a la comunidad: / discord
Link a la comunidad de Facebook: / gentleman.programming
Link al libro "Cómo ser front-end sin fallar en el intento: Tus primeros pasos en la programación web": amzn.to/2ReBuzL

Опубликовано:

 

3 окт 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 63   
@_josuealonso
@_josuealonso 3 года назад
La capa de adaptadores es un concepto genial, la gente no se da cuenta, pero sirve bastante, ya sea para migrar(API, Base de datos o lo que sea) o cosas así.
@GentlemanProgramming
@GentlemanProgramming 3 года назад
Ultra importante !! Hace poco tuvimos que hacer un cambio de una variable en los datos que retornaba el login de nuestra aplicación y como era de esperarse rompía todoooooo. Por suerte teníamos implementado un adapter y solo fue cambiar ahí su valor :)
@christopherdallar1508
@christopherdallar1508 2 года назад
Por favooooor haz un curso sobre clean Architecture y explicalo mientras desarrollas un pequeño proyecto front y back. Excelente video
@GentlemanProgramming
@GentlemanProgramming 2 года назад
Podría ser ! Me especializo más en back pero es algo que podría verse :) fíjate mientras la parte dos de este vídeo ! Está con un ejemplo
@d-landjs
@d-landjs 2 месяца назад
@@GentlemanProgramming Esperando uno que hagas desde cero maestro
@GentlemanProgramming
@GentlemanProgramming 2 месяца назад
@@d-landjs ya está hecho ! 👷🏻‍♂️Clean Architecture🧼 ru-vid.com/group/PL42UNLc8e48TF9l07z_tLGHzmC_d-yfJJ
@carlosabud
@carlosabud 2 года назад
Buenas! excelente vid. Estoy metiendome en el mundo de la clean architecture. Actualmente estoy trabajando en un proyecto Angular y .NET Core con microservices... que se subestimó y terminó siendo ENORME. Nos encontramos con todos los problemas que enumeraste, desde testing dificil hasta super high coupling. Cambias una cosa y tenes que cambiar 5 componentes jajaj. Tengo varias preguntas pero principalmente 2... Tenes alguna referencia o sitio donde se pueden encontrar ejemplos practicos de clean architecture especificamente en Angular? y la 2da, en este proyecto se implementa NGRX para el state management. y estoy teniendo dificultades en el analisis de como implem,entar ngrx con clean architecture, dado que ngrx tiene partes en cada uno de los layers... alguna reocmendación?
@GentlemanProgramming
@GentlemanProgramming 2 года назад
Hmmmm seguro haga un vídeo de clean architecture en Angular. En si la clean architecture se plantea a nivel proyecto introduciendo también sus otros componentes como el backend, en estos vídeos lo que estoy haciendo es agarrar los conceptos de la clean architecture y mi propia experiencia para generar una estructura escaladle para cualquier tipo de proyecto (por ejemplo la clean architecture pura pura dice que hay que abstraerse del framework de UI). Para tu pregunta relacionada a Ngrx… te prometo incluir su respuesta en el mismo vídeo porque es imposible de responder por aquí jajajaj Lo que si te puedo decir es que pienses en el ngrx store como el dominio, ya que utiliza el concepto del único lugar de la verdad (fíjate mi vídeo de programación reactiva). Ahhhh ahora que lo veo ! Tengo un vídeo de ngrx store de duración una hora y media (si, largo lo se) que transmití en directo y creo que ahí mismo expliqué ngrx en clean architecture ! ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-3zu9ZbAMTAw.html es la forma recomendada
@HugoSvoboda
@HugoSvoboda 2 года назад
Muy bueno!! Estoy estudiando este tema y lo entendí muy bien con este video. Un clarisimo ejemplo de dependencia circular es la serie de Netflix: Dark!!!
@GentlemanProgramming
@GentlemanProgramming 2 года назад
Muy buen ejemplo!!! Genial que te haya servido el vídeo :D
@mauriciocucco4466
@mauriciocucco4466 3 года назад
Laburo con Angular y sé a qué te referís jaja. Excelente video!!
@GentlemanProgramming
@GentlemanProgramming 3 года назад
Muchísimas gracias !!! Angular es una muy buena representación de la clean architecture en sus bases jajjajaaj
@diego530706
@diego530706 2 года назад
Que buena explicación 🙌
@snithfferx
@snithfferx Год назад
Gracias por el video, me ha aclarado muchas otras cosas adicionales de esto de la "arquitectura limpia". Por cierto... hmmm, tanto angular, react, vue y otros parecidos, son lenguaje JavaScript, cada uno es un Framework de JavaScript. bueno, tambien se puede usar typescript, pero sigue siendo JavaScript. Yo en esto, no sé sí llamarlo arquitectura o no, más bien, como tu dices, lo veo como una serie de normas, una guía. Se supone, yo uso MVC como patrón de desarrollo, digo "supuestamente", porque a lo mejor he entendido mal porque todo apuntan a que esto de la arquitectura Hexagonal o limpia, o la DDD, son totalmente diferentes, y yo los veo igual. Que opinas al respecto, cual sería en realidad la diferencia? Por cierto, desarrollo fulstack en PHP(back), JavaScript, HTML, mi forma de desarrollo la estoy llevando ahorita a Node.js, espero en algún momento a otros lenguajes o frameworks fullstack
@GentlemanProgramming
@GentlemanProgramming Год назад
Hay muchas arquitecturas clean que hacen lo mismo, desde la hexagonal, la scream, la clean, la onion, etc. Lo importante es entender que quieren hacer y utilizar esos conceptos, que en este caso es “separation of concerns” donde se separa cada lógica lo más posible para que sea reutilizable, escalable y mantenible.
@danielreyesepitacio8406
@danielreyesepitacio8406 6 месяцев назад
Por que se dice que el dominio no se toca. En un proyecto que trabajo el problema que me encuentro es que constantemente me piden modificar las entidades, es decir, agregar quitar campos, crear nuevas tablas o modificar las existentes y precisamente es lo que más problemas genera.
@GentlemanProgramming
@GentlemanProgramming 6 месяцев назад
Casos de uso y dominio en Clean Architecture: Diferencia lógica de negocios y aplicación 🚀💻 - PT 2 ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-BstBfqq7npY.html
@CharlesDv
@CharlesDv Год назад
Shrek no dijo lo de las capas, lo dijo el burro. XD
@GentlemanProgramming
@GentlemanProgramming Год назад
no no ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-0ZCxoWEWBZk.html
@titusfx
@titusfx 2 года назад
Es una mala referencia, el codigo spaghetti vino por el uso de los GOTO, hacer saltos en el codigo. Y eso hacia el codigo complicado. Y cdo se uso en decoupling es pq era complicado ( y una mala referencia). Me da gracia tambien que has dicho el API Rest de toda la vida jejeje, se nota que tengo mas anhos, hay otras cosas mas viejas que API Rest de toda la vida jejeje . 👴😅
@GentlemanProgramming
@GentlemanProgramming 2 года назад
jajaja, claro yo estoy haciendo referencia al significado según el momento actual, nunca llegué a trabajar con Soap por ejemplo ! Lo bueno es que tienes más experiencias y por ende mejor filtro a la hora de tomar decisiones, como dice el dicho, el tiempo es sabio. Gracias por el comment !
@kimberlygarcesperez5975
@kimberlygarcesperez5975 6 месяцев назад
Yo empece hace poco a implementar clear arquiteture en mis proyecto y no tenia claro el concepto del dominio.. ya me queda un poco claro
@GentlemanProgramming
@GentlemanProgramming 6 месяцев назад
Genial !!! Tienes luego vídeos exclusivos sobre estos temas ! Sigue esta playlist: 👷🏻‍♂️Clean Architecture🧼 ru-vid.com/group/PL42UNLc8e48TF9l07z_tLGHzmC_d-yfJJ
@GentlemanProgramming
@GentlemanProgramming 6 месяцев назад
La parte 2 va más específico sobre este tema que buscas ;)
@caelum16007
@caelum16007 2 года назад
Yo tengo un critica eres muy crack muchas gracias por explicarlo xD
@GentlemanProgramming
@GentlemanProgramming 2 года назад
AJJAJA ojalá todas las criticas fueran de esa manera, muchas gracias por el aguante de siempre Carlos !!!!
@d-landjs
@d-landjs 2 месяца назад
Excelente, todo super entendible!
@SabrinaDias
@SabrinaDias Год назад
muito bom, obrigada por falar devagar, brasileiros agradecem kakakaka
@albuslrc
@albuslrc 2 года назад
Una corrección, lo correcto cuando se habla de temperatura es hablar de grados Celsius y no centígrados.
@GentlemanProgramming
@GentlemanProgramming 2 года назад
Perdón ! es que en latinoamerica se habla de grados centígrados, y soy Argentino :)
@sidokudesu
@sidokudesu 2 года назад
​@@GentlemanProgramming ¡Te faltó cerrar el signo de exclamación señor Gentleman!
@GentlemanProgramming
@GentlemanProgramming 2 года назад
@@sidokudesu jajajajaa siempre :P
@guzidev
@guzidev 2 года назад
Hola, tengo una duda, si tengo un UseCase1 que maneja la lógica de negocio del entity1, este UseCase1 puede llamar a UseCase2 o no ?
@GentlemanProgramming
@GentlemanProgramming 2 года назад
Creo que lo mejor, y lo que siempre recomiendo es de crear una función de utilidad lo más genérica que puedas con las cosas que se comparten entre los dos useCase. Seguramente si tienes que utilizar uno dentro de otro, no necesites de un 100% del caso de uso, sino de alguna lógica que se comparta en su interior. Siempre trata de crear métodos reutilizables, lo más genéricos posibles, para aumentar la velocidad de desarrollo y mantenimiento del mismo. 🤓🤓
@guzidev
@guzidev 2 года назад
@@GentlemanProgramming muchas gracias por tu respuesta, a grandes rasgos te cuento el porqué requiero hacer eso, tengo una feature Usuario y otra Empresa con sus entities, use cases y controller separados, pero al usar UserController.registro() requiero crear una empresa ligada al user, de momento lo hago en el controlador de usuarios llamo al controlador de empresa y creo una ligada al user, ya que el controlador está en la capa más externa. Es un proyecto sencillo pero quiero empezar con este tema de clean arquitectura más a fondo, por cierto tu video me ayudó bastante ! Muchas gracias 🙌🏻
@GentlemanProgramming
@GentlemanProgramming 2 года назад
@@guzidev no creo que haya problema ! En mi caso yo lo hago con reduce por ejemplo para acceder a la información del usuario y así crear la empresa ligada al mismo. De esa manera no junto los controladores. Sería algo así: el use se encarga de su lógica de crear el user, guardo su información en el estado general de la app ( redux o context ), y luego la lógica de crear empresa será sólo de esa parte utilizando La información del user que tenemos almacenada. Espero haberte ayudado !
@guzidev
@guzidev 2 года назад
@@GentlemanProgramming muchas gracias por tu respuesta
@christianareinamo5741
@christianareinamo5741 2 года назад
pense que era un video de rappi
@GentlemanProgramming
@GentlemanProgramming 2 года назад
Muy parecido ! Aquí en España no existe Rappi 🥸
@diegovillafane6313
@diegovillafane6313 Год назад
Que buena bajada de data hno!
@moviedomof
@moviedomof Год назад
Si en el Dominio estan las reglas de negocio(segun clean-arq). Pero los Dominios son Entidades (o sea al fin clases de un lenguaje que responden a un negocio) Entonces Las reglas de negocio no estarian en realidad en Application layer.?? dado que es la layer en la que iteratuen y se orquesten los dominios ? Para mi el dominio no es mas que una clase con atributos adaptado a neceidades de negocio (no digo que sean DataEntities ..ojo), pero el negocio en si esta en los Use Cases.. .. Me cuesta quitarme la mentalidad retro de SOA + n-tear del 2000 jjaja Saludos buen video
@elgrego3849
@elgrego3849 2 года назад
Muy buen video, una pregunta ¿Tienes algun repo de clean architecture en angular?
@GentlemanProgramming
@GentlemanProgramming 2 года назад
Todavía no PERO estamos trabajando en ello
@YusufSalahAdDin
@YusufSalahAdDin 2 года назад
ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-vRGVnqylO68.html Yo en el núcleo normalmente ponía todo lo que vaya a utilizar en diversos módulos/características de la aplicación(como componentes atómicos, por ejemplo).
@GentlemanProgramming
@GentlemanProgramming 2 года назад
Siempre el dominio justifica lo que sería el control de las entidades a las cuales vamos a utilizar sobre el transcurso de nuestra app, ya que todo depende de ellas. Luego en la siguiente capa se agrega lo que sería el apoyo a las entidades para el manejo de los datos mediante la especificación de la lógica de negocios, en el front se podrían considerar estas como tus componentes atómicos, ya que estos especifican las business rules dentro de su lógica :)
@YusufSalahAdDin
@YusufSalahAdDin 2 года назад
@@GentlemanProgramming en serio? Ya me confundí.
@GentlemanProgramming
@GentlemanProgramming 2 года назад
@@YusufSalahAdDin tranquilo es normal, es que estas estructuras van dadas desde la estructura del sistema de archivos que se usa en tu app, fíjate la manera que se recomienda en tu lenguaje y no vas a tener problemas :)
@haroldhyde4199
@haroldhyde4199 3 года назад
Estan buenos lo ejemplos y consejos!
@GentlemanProgramming
@GentlemanProgramming 3 года назад
Muchísimas gracias Harold !!!
@GabrielMazzoleni
@GabrielMazzoleni 2 года назад
Genio del alma, clase magistral la tuya, algun material teorico que recomiendes para profundizar mas sobre la Clean Architecture? Se que hay un libro con ese titulo literal pero no sé si te estas basando en ese exactamente. Gracias!
@GentlemanProgramming
@GentlemanProgramming 2 года назад
Literalmente es todo practica y error en mi caso, más muchas lecturas de documentación en medium PERO este libro es DIOS: Clean Architecture de Uncle Bob, y también tienes este blog de él blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html
@GabrielMazzoleni
@GabrielMazzoleni 2 года назад
@@GentlemanProgramming Gracias!
@krl4ulloa
@krl4ulloa 3 года назад
Muy bueno.
@GentlemanProgramming
@GentlemanProgramming 2 года назад
Muchas gracias krl4ulloa !!
@elkinlimasrojas1294
@elkinlimasrojas1294 10 месяцев назад
esto esta muy bueno pero para mi concepto aprendo haciendo un proyecto sencillo, pero que aporta al conocimiento grandeza
@GentlemanProgramming
@GentlemanProgramming 10 месяцев назад
Ay ejemplos y todo en la playlist :)
@elkinlimasrojas1294
@elkinlimasrojas1294 10 месяцев назад
@@GentlemanProgramming Gracias Master voy buscarlo
@marcosvitaliable
@marcosvitaliable 2 года назад
Buen intento de adapatar patrones de clean architecture a FrontEnd pero no cuaja tiene errores groseros en tus ejemplos. 1) Das como ejemplos que los plain objects del modelo serian como Entities (en tu diagrama sañalado como Enterprise Bussines Rules) pero te digo que en ese caso tus entidades serian un Anitpattern "Anemic Domain Model" descrito por Martin Fowler. lo cual es el corazon de cualquier clean architectura que la logica este ahi. 2) Definis que los adaptares o puertos como simples translates entre el modelo externo y el del dominio y dejas de lado las librerias, lo importante es no estar acoplado a una libreria como Axios, y que vos tengas un contrato en tu dominio que te desacople, ahora para lograr eso no tenes que meter un boilerplate cuando tenes 1=1 entre el front (cliente) y api backend (servidor), ya que te gusta traslador conocimientos no olvides la I de Solid "Interface segregation" las interfaces son de los clientes. Dicho esto es totalmente prematuro que pongas ese codigo cuando no es necesario. Lo otro que no hablas como temas mas importanto de los adpatodores que es qeu se puedan doblar para realizar testing. Por ultimo esto no quiere decir que no se puedan aplicar en muchas soluciones patrones de clean architecture, y es una charla que podriamos tener pero ya te digo que un CustomHook del tipo UseClient que tenga logica de negocio es mas representativo de un Domain Entity que tu Modelo anemico de plain objects. Saludos.
@GentlemanProgramming
@GentlemanProgramming 2 года назад
Muchas gracias nuevamente por tu mensaje Marcos ! Hay muchas cosas que no voy a explicar por un tema de no marear a la gente que recién empieza y quiere aprender del tema. Los ejemplos que doy son cosas simples para ir entrando en el concepto y dar una idea rápida de cómo estructurar tu app. Thanks for el feedback ! :D
@andresep
@andresep 2 года назад
Muy desordenada la explicación. Poco estructurada.
@GentlemanProgramming
@GentlemanProgramming 2 года назад
Gracias por el feedback! Mira cualquiera de los nuevos vídeos sobre el mismo tema :)
@nicolaskreiff
@nicolaskreiff 2 года назад
No entendiste nada. Please, releé el libro. Tené cuidado con lo que explicás, hay gente que va a tomar esto como referencia.
@GentlemanProgramming
@GentlemanProgramming 2 года назад
Muchas gracias por tu comment ! Luego mírate los últimos vídeos sobre el tema y recuerda que aplico los conceptos de algo que se aplica a proyectos completos a solo el front (que ya de por sí debería ser totalmente agnóstico al mismo). Thank you ! 🥰
Далее
У КОТЯТ ОТКРЫЛИСЬ ГЛАЗКИ#cat
00:26
Китайка нашла Метиорит😂😆
00:21