🔑 Principios SOLID al Descubierto - Ep05: Domina la Inversión de Dependencia | Code Like a Pro

  Рет қаралды 16,629

 Code and Coffee

Code and Coffee

Күн бұрын

Domina la arquitectura de software con la serie "Principios SOLID al Descubierto": Este quinto y último episodio aborda el vital Principio de Inversión de Dependencia. Te lo explicamos de forma clara y accesible, con ejemplos de código y gráficos explicativos, para que puedas diseñar sistemas desacoplados y con bajo mantenimiento. ¡Es la culminación de nuestra serie y un principio fundamental para cualquier arquitecto de software!
Completa tu formación SOLID con la serie completa:
• 🔑 Principios SOLID al ... 📐 | 1) Principio de Responsabilidad Única
• 🔑 Principios SOLID al ... 🔒 | 2) Principio Abierto Cerrado
• 🔑 Principios SOLID al ... 🔀 | 3) Principio de Sustitución de Liskov
• 🔑 Principios SOLID al ... 🧩 | 4) Principio de Segregación de Interfáz
• 🔑 Principios SOLID al ... 🔗 | 5) Principio de Inversión de Dependencia
💰 Apoya el Canal: 💰
Para apoyar mi contenido directamente: paypal.me/jorg... ⬅️⬅️⬅️
Lograr las 4,000 horas de visualización para monetizar en KZbin parece un reto monumental. Si disfrutas de mi contenido y quieres apoyar su creación, cada aporte me acerca a seguir compartiendo mi pasión. ¡Gracias por tu apoyo!
Usa el hashtag #CodigoyCafeDev para unirte a nuestra comunidad de expertos en #ArquitecturaDeSoftware y #PrincipiosSolid.
🎵 Música cortesía de Bensound: www.bensound.co...

Пікірлер: 54
4 жыл бұрын
Para ver el código de este video ¡HAZ CLICK! 👇👇👇 💻Código en GitHub: git.io/JfzIr
@dayanafulla3125
@dayanafulla3125 3 жыл бұрын
Tienes un don para explicarlo todo de manera sencilla, ni mi docente en 3 horas de explicación de SOLID pudo poner ejemplos tan claros como los tuyos
3 жыл бұрын
Muchísimas gracias Dayana, algo tarde la respuesta pero llegó. He retomado el canal espero que te sigan agradando los videos nuevos. Saludos!
@JorgeLuis-ts6qp
@JorgeLuis-ts6qp 2 жыл бұрын
Creo que es la explicación más clara y concreta que he visto nunca de este concepto. ¡Felicidades!
@gmddmg
@gmddmg 3 жыл бұрын
Muy bueno, excelentemente bien explicado
3 жыл бұрын
Hola, muchas gracias
@MagnusAnand
@MagnusAnand Жыл бұрын
muy bien explicado!
@666zulett
@666zulett 4 жыл бұрын
Muy buena serie de videos me ayudo a entender un poco mas sobre principios solid son re complicados de implementar en programas ya contruidos
4 жыл бұрын
Gracias maestro, tienes razón en ocasiones resulta complicado en código ya elaborado, pero no imposible, se puede ir refactorizando poco a poco. Te platico un poco mi experiencia, me encuentro trabajando en una migración de un código legacy a Laravel y cuando ya creo que logré desacoplar el código me encuentro con más cosas que me regresa a volver a pensar como hacerle y al final me doy cuenta que los campos de la base de datos de las tablas involucradas que deberían de tener los mismos valores los campos los llamaron diferentes y pues ya estoy a punto de darme por vencido con eso. Tendría que meterme a cambiar la base de datos y no es algo que me gustaría enfrentar en este proyecto.
@petro13cid
@petro13cid 4 жыл бұрын
@ Te entiendo, maestro, a mi también me ha pasado. Es muy importante el análisis y diseño de la solución para evitar futuros dolores de cabeza, muchas gracias por tus explicaciones, están geniales
@HighOctaneNews570
@HighOctaneNews570 Жыл бұрын
excelente, tienes videos sobre la arquitectura hexagonal que se basa mucho en este principio?
@elkyngustavodiosamartinez2626
@elkyngustavodiosamartinez2626 3 жыл бұрын
Hey men eres bueno! 😁 Deberias seguir con los videos, no estaba claro y con estos videos quede meló! Gracias! Sigue con los patrones de diseño!
3 жыл бұрын
Muchas gracias Elkyn, por fin he podido regresar a grabar videos, y prestarle más atención al canal, espero que los videos nuevos te sigan siendo de utilidad!
@elmanotas4041
@elmanotas4041 3 жыл бұрын
Y en store cómo agregaste el Paypal?
@maryta22
@maryta22 3 жыл бұрын
Gracias :) ¿Podrías recomendar las fuentes de donde lo aprendiste?
3 жыл бұрын
Hola María, pues no tengo una sola fuente, busqué la info en google y fui recopilando información y practicando. Saludos!
@atherbsc5384
@atherbsc5384 2 жыл бұрын
Hola, me imagino que el metodo de la interfaz puede llevar un parámetro del objeto que compro el usuario lo envio por la clase Tienda y lo recibo en la clase adaptador y hacer toda la logica?
2 жыл бұрын
Claro, la interfaz presentada en el video es super sencilla, tu puedes agregar los métodos que sean necesarios con los parámetros que requieras. Saludos!
@agustinperez8700
@agustinperez8700 Жыл бұрын
no entiendo la interfaz PaymentProcessor, y porque cada vez que se implementa se la sobrescribe el método pay por el de la api.
@MultiTelefono
@MultiTelefono 3 жыл бұрын
Muy Bueno el video. Tengo una duda, que pasaria si en las API de banco y Paypal, los datos de requeridos por cada una cambian? por ejemplo en paypal solicita al usuario el correo de la cuenta, y en el banco piden el numero de cuenta y contraseña
3 жыл бұрын
Hola Jeff, muchas gracias! Y respondiendo a tu pregunta (espero que haya entendido correctamente), en el ejemplo si te fijas en los adaptadores ya se han creado las instancias de las clases de las APIs y se les inyectan por medio del constructor, por ejemplo: $myBankApi = new BankApi($numero_de_cuenta, $contraseña); y teniendo esa instancia creada ya la podrías usar en el adaptador, así mismo la instancia de la API de PayPal se construye antes. Lo que creo que te serviría en este caso es utilizar el patrón de fábrica para elaborar tus procesadores de pago, lamentablemente no alcancé a grabarlo pero creo que te puede servir si buscas al respecto. Espero haber despejado tu duda. Gracias nuevamente!
@robertoflores1274
@robertoflores1274 3 жыл бұрын
re4xhw4yu
@unnicksimple3096
@unnicksimple3096 4 жыл бұрын
Excelente como siempre... Estaría genial un ejemplo de arquitectura hexagonal en php ... des de la vista hasta la persistencia. Felicitaciones
4 жыл бұрын
Muchas gracias maestro, para ser honesto no tengo mucha experiencia en ese tema, pero voy a ver qué se puede hacer, o si tienes algún otro tema que estes interesa con gusto.
@unnicksimple3096
@unnicksimple3096 4 жыл бұрын
@ Hace mucho tiempo que programo principalmente en php y Nunca preste atención a SOLID arquitecturas y demas... cuando vi lo de arquitectura hexagonal me pareció interesante. Y me pregunte como pasar de modelos MVC MVP a una Arquitectura Hexagonal como es el proceso donde van las vistas, donde quedan los controladores, modelos los helpers... y no encontré a nadie que de un ejemplo claro. Y veo que tienes gran potencial dando explicaciones.. y LOS CANALES GRANDES ya son muy grandes como para tirarles ideas... :)
4 жыл бұрын
Muchas gracias, me di a la tarea de investigar sobre este tema y coincido contigo esta muy interesante, por lo que veo está basado en SOLID por todos lados, además de utilizar un par de patrones de diseño, antes de hacer un video sobre esto haré los videos de los patrones de diseño que utiliza que hasta lo que he visto no son muchos pero podría estar equivocado. Realmente me pareció muy buen material, gracias por la sugerencia!
@tzalejo82
@tzalejo82 2 жыл бұрын
Excelente explicación amigo!gracias!!
@sirfreedom
@sirfreedom 2 жыл бұрын
Claro man... pero siempre que veo ejemplos les falta UTILIZARLOS ... sea en un metodo MAIN si es una aplicacion en en algun lado, porque estoy enviandole instancias de objetos en los contructores, pero no se que objeto deberia utilizar.. calculo que store, pero que instancia de pago le envio? la del adapter?
@masterjj24_channel_28
@masterjj24_channel_28 2 жыл бұрын
Yo sin haber probado el código, diría que sí, debes pasarle instancias de los adaptadores a la clase Store. Así cuando ejecutes el método Purchase() de la clase Store, en realidad estarás pagando con el adaptador que le hayas suministrado.
@eq2_c2
@eq2_c2 2 жыл бұрын
Si cada módulo de cada banco utiliza la interfaz que es invocada desde Store. ¿Quién se encarga de comunicar el módulo con la API de cada banco? ¿Quién evalúa hacia qué banco se realiza el pago? Entonces... ¿Qué beneficia la interfaz en store?
@federicobaez1572
@federicobaez1572 Жыл бұрын
Tambien me quedo la duda, jeje
@nicolassilva7938
@nicolassilva7938 Жыл бұрын
Que buen video, gracias!
@eduardobravo1985
@eduardobravo1985 4 жыл бұрын
Muy bien explicado! Gracias. Podrías hacer una serie sobre patrones de diseño?
4 жыл бұрын
Muchas gracias! Claro que si, también me gustaría una serie de patrones, espero que pronto pueda darme el tiempo para enfocarme en eso o al menos en los más principales
@chrisytbexp6705
@chrisytbexp6705 4 жыл бұрын
Excelente video, solo tengo una duda ¿Cómo puedo identificar en mi código las entidades de alto y bajo nivel? ¿Existe alguna regla para identificarlas? ... estaria buenisimo que las explicaras Este paradigma me recuerda mucho al que se explica en el libro de Kotlin en el problema de "fragile base class" el cual ocurre cuando las clases base pueden causar un comportamiento incorrecto porque el código modificado de la clase base ya no coincide con los supuestos en sus subclases, basicamente dice "diseña y documenta para la herencia de otra manera prohibelo" la verdad esto es muy nuevo para mi que aprendí a programar con Java entre otros donde todo es "extendible" y "modificable" a menos que se especifique, en Kotlin como en otros es "todo está cerrado y final a menos que se especifique como abierto" es bastante contradictorio de hecho, pero tiene sus ventajas creo ... Saludos Jorge
4 жыл бұрын
Esas son preguntas excelentes, en ocasiones asumo que todo se entiende y omito partes que pienso son innecesarias de explicar (malamente), puedes identificar a los módulos de alto nivel como el código que depende de otro y la dependencia sería el módulo de bajo nivel. Algo así como, el módulo de alto nivel es donde se invoca la acción y el módulo de bajo nivel donde se realiza la acción. Espero que esa breve explicación sea suficiente de no ser así déjame otro comentario con tu duda. Muchas gracias por ver el video y saludos!
@ivangalicia4618
@ivangalicia4618 4 жыл бұрын
@ ME queda la duda... bajo el diagrama del tio Bob, las apis de Paypal y el banco serían las de alto nivel no? ya me confundí. (aqui el diagrama github.com/mattia-battiston/clean-architecture-example/blob/master/docs/images/clean-architecture-diagram-2.png)
@jesusvelazquez5276
@jesusvelazquez5276 3 жыл бұрын
Muchas gracias por esta serie de los principios solid, para los que empezamos es un tesoro encontrar material como el tuyo, magnífica la forma en que explicaste los principios. Había visto otros vídeos pero nada que ver con los tuyos. Te reitero mi agradecimiento por compartir tus conocimientos.
3 жыл бұрын
Muchas gracias Jesús, saludos!
@DavidRuiz-lx2jm
@DavidRuiz-lx2jm 2 жыл бұрын
Después de ver muchos videos por fin encontré uno con el que entendí este principio SOLID y de paso el patrón de diseño ADAPTER, Mil gracias eres un crak 👌
@willianandresbustos6920
@willianandresbustos6920 3 жыл бұрын
Buen dia, excelente video. Si por ejemplo necesitas que pay devuela algo como respuesta. Como sería la implementación?
@joselinefebres4877
@joselinefebres4877 2 жыл бұрын
Muchas gracias por tu contenido!
2 жыл бұрын
Gracias a ti!
@marcosbarrera8183
@marcosbarrera8183 2 жыл бұрын
Que explicacion y que video tan excelente. Buen trabajo!
@daniscanada7155
@daniscanada7155 2 жыл бұрын
Buen capitulo, me ha servido para recordar y aprender de paso algo nuevo.
@raydeleon7806
@raydeleon7806 2 жыл бұрын
Explicación muy sencilla sin tanto rodeo, excelente.
@gerzepellin2350
@gerzepellin2350 3 жыл бұрын
Te adoro jefe! Logre entender este principio!!
@cristianjesus3250
@cristianjesus3250 3 жыл бұрын
Tienes buena facilidad para explicarlo. Ojala puedas subir mas videos.
3 жыл бұрын
Me da gusto leer esto mi amigo, había tenido abandonado el canal pero estoy por retomarlo y generar nuevo contenido. Muchas gracias por tu comentario y saludos.
@CarlosReyes-wx8pr
@CarlosReyes-wx8pr 2 жыл бұрын
Exelente serie y muy buenas explicaciones. Gracias!!
2 жыл бұрын
Muchas gracias Carlos!
@franciscobusleiman5295
@franciscobusleiman5295 3 жыл бұрын
Nuevo suscriptor. Excelente
3 жыл бұрын
Muchas gracias Francisco! 😊 Saludos!
PRINCIPIOS SOLID En Menos de 10 MINUTOS
8:45
VT Coding
Рет қаралды 6 М.
From Small To Giant Pop Corn #katebrush #funny #shorts
00:17
Kate Brush
Рет қаралды 70 МЛН
Every parent is like this ❤️💚💚💜💙
00:10
Like Asiya
Рет қаралды 13 МЛН
SHAPALAQ 6 серия / 3 часть #aminkavitaminka #aminak #aminokka #расулшоу
00:59
Аминка Витаминка
Рет қаралды 1,9 МЛН
Los principios SOLID, ¡explicados!
10:42
BettaTech
Рет қаралды 269 М.
Principios SOLID: Principio de Inversión de Dependencia DIP
16:20
Test-Driven Development // Fun TDD Introduction with JavaScript
12:55
"Clean" Code, Horrible Performance
22:41
Molly Rocket
Рет қаралды 890 М.
Inversión de Control VS Inyección de dependencias Parte 1
8:31
Coding Together ES
Рет қаралды 2,3 М.
SOLID: Principio de Inversión de Dependencia (DIP)
9:57
makigas: aprende programación
Рет қаралды 2,4 М.
¿Qué hay detrás de SOLID?
22:59
DesarrolloWeb.com
Рет қаралды 7 М.