Los principios SOLID, ¡explicados!
Ғылым және технология
Seguimos con la Programación Orientada a Objetos, ésta vez con los 5 principios más famosos, ¡SOLID!
Si te gusta el contenido, échale un ojo a mi último vídeo!
4 Habilidades que TODO PROGRAMADOR SENIOR Necesita
• 4 HABILIDADES que IMPU...
👾 Redes sociales 👾
► Twitter: / bettatech
► Instagram: / betta_tech
► Canal Secundario: / @forkdebettatech
► Slack: bit.ly/33gaDDM
👨🏼🏫 MIS CURSOS 👨🏼🏫
👽 Curso de iniciación a la programación con JavaScript:
► bit.ly/3kr4bTc
👕 MERCHANDISING DEL CANAL:
► Tienda KZread: / bettatech
► Tienda Teespring: teespring.com/stores/bettatec...
⭐️ AFILIADOS ⭐️
🎁 7% Descuento en HOSTINGER (Código BETTATECH)
► www.hostg.xyz/aff_c?offer_id=...
🧠 Autocompletado con IA (Kite)
► www.kite.com/get-kite/?...
🐾 MacPaw (CleanMyMacX):
► macpaw.audw.net/c/2523912/941...
🎵 TODA la música es de EpidemicSound:
► www.epidemicsound.com/referra...
✉️ CONTACTO PROFESIONAL:
► Respuesta no garantizada:
bettatechyt@gmail.com
📚 LIBROS 📚
Design Patterns
► amzn.to/39XuQlq
Head First Design Patterns
► amzn.to/2uq6XUq
Refactoring
► amzn.to/2SQnf2c
Clean Architecture
► amzn.to/3bZVonJ
Clean Code
► amzn.to/32WVKq3
Introduction to Algorithms
► amzn.to/34SyVFP
Cracking the Coding Interview
► amzn.to/2QkdwC6
Пікірлер: 266
No estoy muy de acuerdo con la definición que das del SRP, aunque entiendo de dónde viene la imprecisión ya que yo mismo la tuve. Realmente hay bastante confusión en cuanto al SRP. La verdadera naturaleza del SRP es que cada módulo de software de un sistema debe ser responsabilidad de un único stakeholder. Esto no se entiende mucho con la definición de stakeholder, pero sí con la de actor. El SRP realmente trata de hacer ver que si segregas un sistema creando límites basados en actores, obtienes un sistema más robusto en el que los cambios asociados a un área de negocio no afecten al resto. Es decir, es erróneo decir que el SRP funciona a nivel de función e incluso a nivel de clase, si no que lo hace a nivel de módulos o componentes de la arquitectura de software. Esto es un error muy común y se describe muy bien en la página 62 de Clean Architecture en la versión original en inglés, de Robert C. Martin. A pesar de ser el principio más conocido de los SOLID para mí es el más incomprendido. El propio DDD (Domain Driven Design), algo que abarca un campo de conocimiento relevante, nace de este concepto fundamental del SRP.
@BettaTech
4 жыл бұрын
Wow, gran comentario! Es una definición mucho más precisa del SRP. Aún así, no se puede generalizar la definición abstracta al nivel que sea? ya sea función, clase, módulo, o incluso servicio entendiéndolo como sistema?
@Julio-wd2sk
4 жыл бұрын
@@BettaTech En realidad no es generalizable, al menos como el propio autor lo ha concebido y él mismo así defiende que no se le dé ese uso. El principio de responsabilidad única habla sobre responsabilidad y la responsabilidad es una persona, o actor caso-de-uso. No es algo que el código haga. Una persona que quiere hacer un cambio en el código como el cambio de formato de la mantisa del valor de un informe, es código cuya responsabilidad recae en una determinada persona del negocio que requiere ese cambio. De hecho las responsabilidades en los organigramas de gestión, recaen de forma atómica en personas determinadas, esa responsabilidad no puede si quiera delegarse, únicamente puede delegarse la función de negocio que originalmente realiza la persona con dicha responsabilidad. Aquí Robert C. Martin relata en detalle el principio, es largo pero creo que merece la pena. Es algo que implica una reflexión más profunda que el simple hecho (perdóname la expresión), de extraer código duplicado o con un comportamiento excesivo de una función, que todos hacemos diariamente, pero no está relacionado directamente con este principio. kzread.info/dash/bejne/eahkr8GIeK7Ogag.html
@BettaTech
4 жыл бұрын
@@Julio-wd2sk He estado leyendo más sobre SRP concretamente, y creo que lo que dices se puede resumir con lo que dice Robert: "Gather together the things that change for the same reasons. Separate those things that change for different reasons." Hay muchísima bibliografia sobre SRP que no acaba de dar ese mensaje. Voy a pinnear tu comentario para que la gente lo vea. Gracias!
@Julio-wd2sk
4 жыл бұрын
@@BettaTech Sí, básicamente se puede resumir perfectamente con esa cita de Robert, pero a mí siempre se me ha hecho demasiado abstracta y probablemente sea la razón por la que la mayoría lo confundimos cuando lo aprendemos por primera vez. La aproximación con actores me parece más natural, aunque esa cita que pones es la que captura la esencia del principio en pocas palabras.
@CarlosTorres-qd2is
4 жыл бұрын
Buen comentario.
como una persona me dijo cuando empezaba en este mundo, tenes que lograr codear de forma tal que lo leas y sientas que lees un libro.
1:42 Principio de responsabilidad única Cada clase tiene sus funciones especificas 3:00 Principio de abierto-cerrado No se modifica una clase, se hereda en otra y se elabora nuevo código 5:04 Principio de sustitución de Liskov 6:41 Segregación de la interfaz Separar las interfaces orientadas a las funciones necesarias en interfaces Por medio de clases pequeñas y especificas 8:56 Inversión de la dependencia Las implementaciones deben depender de interfaces
@ae.h.h
2 жыл бұрын
Creo que en el video se mesclaron estos 2 principios y no me quedo muy claro: Principio de sustitución de Liskov y Segregación de la interfaz. En la Segregación estoy de acuerdo pero en Sustitución no.
"Las herramientas nos han de ser funcionales, y tenemos que usarlas para algún propósito"...con eso ya seremos bastante mejores programadores. Muchisimas gracias!!!
Cuando hablas de cada tema y muestras ejemplo de código en el trancurso del video me parece un ecxelente recurso didáctico. Muchas gracias, esta información me hizo sentir que mi código es aún muy pueril. Hice muchos cambios, y aunque aún no le acostumbro espero se vuelva rutina. Éxitos, sigue haciendo contenido profesional de calidad.
Wow como hubiera amado este video hace años cuando aprendi SOLID. Aun me acuerdo las horas que le eche a esto y en solo 10 min se tiene una base bien solida.
Estoy en un Bootcamp y hoy estamos haciendo SOLID con java y ha sido muy útil, te has ganado una nueva subs al canal :)
Por fin parece que KZread te esté haciendo un poquito más de caso, me alegro de que el canal crezca :)
@sebastianvera1428
2 жыл бұрын
Aca tb amigo, estan bien explicados, va subiendo de a poco kzread.info/dash/bejne/gKWmsKqal9qZXZM.html
Excelente, me encanta haber encontrado tus vídeos me servirán mucho para repasar y enseñar a mis compañeros
Sinceramente, no conocía tu canal y hoy mi jefe me ha comentado que empezaremos a usar SOLID. Nunca había oído hablar de este sistema y cuando he entrado en la wikipedia me ha sonado todo a chino. Ver tu vídeo me lo ha dejado todo clarísimo, tanto que se lo pienso recomendar a mi jefe para las nuevas incorporaciones. Mil gracias y mi más sincera enhorabuena de un, desde ahora, nuevo suscriptor.
Excelente video, Muy bien explicado, me gustaría otro video de estos principios pero en la práctica! Saludos
Gracias por tan buen video. Estaría bueno que crearas un curso de creación de una API REST con Node y Express, pero esta vez usando TypeScript y aplicando los principios SOLID, junto con DDD y demás buenas prácticas y arquitecturas limpias. Pienso, que seria una version mucho mas avanzada para seguir aprendiendo cuando se termina tu curso de "Desde 0 hasta maestro - Creando el backend con Node JS"
Me encanta como explica este señor, super excelente. Gracias Master!!
Excelente explicación! Te felicito. Era algo que nunca me terminaba de quedar claro. Por sobre todas las cosas el final donde aconsejas no ser tan rígido y utilizar partes de una herramienta si hace falta y no querer obsesionarse con seguir a raja tabla una técnica o teoría. Saludos y adelante!
Gran video! El siguiente o alguno futuro puede ser sobre los unit test? Un saludo!
Hasta hace poco no valoraba lo mucho que tu contenido es de utilidad. No me metí tanto en tu canal hasta que me toco implementar el patron de diseño decorator, y como lo explicaste muy bien se me dio por ver más videos que en otro momento los deje pasar porque no eran de interes, y que errado estaba!. Esto de traer temas que no dependan demasiado de los lenguajes de programación (Aunque esta bien tener TS para dar un ejemplo) es excelente!. Actualmente estoy pasando de a poco un sistema que no cumple casi nada de SOLID y se nota la dificultad que podría evitarse si se hubiera implementado, más que nada con la "S" de SOLID. Un saludo.
Tu forma de explicar, simplemente, brutal. ¡Enhorabuena!
Increíble como explicas los principios de manera tan sencilla, gracias a eso lo entendí a la primera ! Saludos desde Colombia.
Que manera de explicar tan genial. Estás en mi lista de KZreadrs favoritos en cuanto a tecnología. Saludos desde Chile 🇨🇱
Buenos videos, muy bien explicados sigue así! Saludos de un novato programador desde Colombia
Segundo video tuyo que veo, muy claro, muy preciso, buen contenido. Me suscribo!
Impecable y super recomendable este vídeo!!
Recien llego y ya me suscribí. Es muy agradable y amena tu manera de explicar. Un saludo desde Argentina.
Muy bueno. Con todo y el debate sobre el Principio de Responsabilidad única.
Gracias la mejor y mas clara explicacion de principios de solid.
Estaría muy bien que uno de los próximos videos fuese una explicación en las ramas que tiene la carrera y hacia donde está orientada cada rama . Me ayudaría mucho a mi y a compañeros de clase que no sabemos bien bien que elegir.🙂💪
Necesito hacerme un poster con las formas normales de Boyce Codd, el ISO stackflow y ahora con SOLID. Excelente video!!!
Excelente vídeo amigo, tienes una manera de explicar muy buena. Muchas gracias por el excelente contenido! Saludos desde Mexico
Un vídeo muy didáctico y perfectamente explicado. Enhorabuena por el canal.
Los ejemplos que das ayudan un montón , gracias por estos videos explicativos. Un saludo
Bestial explicación, GRACIAS
bravoooo !! que manera de explicar las cosas complejas en simples, te agradesco por tu video y tu aporte gracias!
gracias Martin, siempre tan claro
Si señor, que bueno eso de explicar con ejemplos donde se ve claramante, muchas gracias por el aporte :)
Me encanta el canal, son demas de mucha utilidad explicados de manera muy digerible, genial contenido
Contenido muy bien explicado y de forma sencilla, gracias, sigue así!
Que bien explicado, me costaba agarrarle a estos principios pero ahora ya los tengo mas claros, un saludo
Muy buen video. Ojalá pudieras construir una serie de videos de mínima teoría de programación para acompañar lo que se ve en la universidad.
Me encanta como explicas, es bastante entendible. Gracias
Podrias hacer videos hablando de los patrones de diseño y su implementacion. Haces muy buenos videos sigue adelante
@cmicolis
8 ай бұрын
Solo se hacen videos que hablan de patos con diseño. 😁
Muy buen video. Tus videos me hacen amar más mi profesión :) Saludos ^^
Lo dije en otro video y lo vuelvo a decir aqui, eres un genio, la forma de explicar, los recursos visuales, los ejemplos; todo perfecto xd
No sé cómo haces para ser tan claro cuando explicás un concepto 🤔 . Gracias por tu tiempo
Muy bien explicado. Los ejemplos ayudan mucho a entender mejor. Gracias.
Muy bueno! Y muy buen comentario al final! Son herramientas! Ya que ningún código o arquitectura que exista (y esto se prueba matemáticamente) se salva del principio de complejidad vs completitud. Lo que uno piensa que es correcto y "solido" deberá mostrar matemáticamente en el campo mas formal posible, sino, siguen siendo buenas herramientas para construir.
Muy bien explicado, muchas gracias
Soy programador Java, tu canal es muy interesante.
clarísimo y breve!! Gracias!!
Muy bueno! Hiciste el video sobre el encuentro entre la herencia y el diseño por componentes? Me parece muy interesante y mas contenido sobre desarrollo de juegos. Suerte!
Excelente explicación! Súper clara! 👍👍
Muchas gracias!
Tengo que renovar mis conocimientos de programación, me he quedado un poco anticuado, gracias a ti lo estoy consiguiendo
Muchísimas gracias por la explicación!
Explicas muy bien y la información es súper interesante y fácil de digerir :D
muy buena explicación entendible de SOLID, felicitaciones!!
Muchisimas gracias por este video, me ayudó demasiado a comprender los principios solid!
Me encanto el video por favor mas videos sobre este tipo de contenido
Buenísimo!!!! Gracias!!
Una pasada de vídeo 🔥 gran trabajo 💪 Saludos!!😊
Estos videos que haces son genial. Muy bien explicados.
Muy bueno, tienes u nuevo seguidor! Sería bueno el vídeo de patrones de diseño. También uno de las mejores API según tú criterio, no la típica API del clima.
Excelente, muchas gracias, maestro. Comentario para el algoritmo de KZread
Excelente video,muchas gracias por compartir
Gracias por tu explicación, después de mucho videos, por fin entiendo estos principios.
Muy buen vídeo, gracias por la información.
Qué buenos consejos. Gracias por tus vídeos!
¡Muy buen vídeo! ¡Explicas muy bien! Una pregunta, ¿que software usas para las animaciones en pantalla?
Excelente Aporte, espero un vídeo sobre interfaces
no estudio ing informatica soy estudiante de otra carrera pero con fe , explicas muy bien por que si entendi a pesar que no me relaciono a la cerrera, mas bien si alguien sabe una pagina web para aprender programación algo como inteligencia artificial o paginas web o algo mas estándar soy super novato asi que helpe, gracias
Muy interesante el vídeo y la forma de explicar, me gustaria aprender a diseñar componentes con buenas prácticas. Para aplicarlos a las nuevas librerías y framework como lo son angular, react y demás. Puede regalar alguna documentación donde hablen de ellos.
Muchas gracias. Estuvo genial el video
WOW!... Excelente explicación!
desde la uma de informatica de malaga te seguimos toda una clase sube mas videos de programacion orientada a objetos, programar con c++ y estadisticas ( big data ) con r
Excelente video. Muy bien explicado. Genio
Te traes excelente canal aqui... abrazos desde el otro lado del atlantico
Excelente explicación!!
Excelente contenido! 👏 Un clásico
Esperando otro buen video explicando la relación entre herencia y por componentes. ¿Son realmente competidores de un mismo espacio, en el que podemos elegir uno u otro al gusto? ¿Son dos formas con el mismo objetivo, y por tanto hay que elegir con cuál lo alcanzaremos más convenientemente? ¿Cuándo uno y cuándo el otro? ¿Cuándo no utilizarlos? ¿Hay otra alternativa? Por otro lado, la inversión de control, como la has explicado no se parece a la que hacen los frameworks (en contraposición a las librerías). ¿Podrías aclarar si son dos cosas con el mismo nombre o por qué lo ha parecido?
qué fácil lo explicas. claro, breve y al grano. Gracias !!
@BettaTech
2 жыл бұрын
Gracias, saludos!!!!
Muy buen video tutorial, saludos desde Venezuela.
Gracias por la explicación.
Makina explicas todo tan facil, eres un crack te has ganado a un seguidor fiel
Me encanto tu video brother, sigue haciendo videos asi !!
Hola, soy nuevo en tu canal, felicidades por el este video muy bien explicado. Tendrás un video donde expliques alguna metodoogía de desarrollo individual, o qué metodología usas de manera personal cuado comienzas con un nuevo proyecto desde cero y lo vas a realizar tu solo. Qué recomendarías a los desarrolladores que comenzamos con un proyecto y nunca o nos cuesta mucho terminarlo completamente. Gracias y felicidades de nuevo.
¡Excelente video! Gracias por la ayuda (:
Gracias totales, todo muy claro, .... ando repasando para mi entrevista técnica XD
gracias betatech excelente!!!
Excelente!
Que gran calidad del video! Nuevo sub :)
*Muy buen video, felicidades*
Bravo!!! Easy like that! ❤❤
Hola :) estoy incursionando en el mundo orientado a objetos y queria entender fe que se trataba este principio SOLID me encanto tu resumen y ejemplos. Vengo de programacion lineal y esto es cambiar de cabeza totalmente, va a llevar práctica pero lo veo posible con la repetición 🤗 Luego me vere otros videos pero desde ya tenes mi like y suscripción 🤓
@risehit
5 ай бұрын
y cual fue el desenlace? terminaste trabajando en lugares que usan el principio SOLID?
Increíble video, gracias por la explicación , nuevo sub
Excelente explicación
Excelente vídeo amigo
Sublime, elegante, flexible, hermoso!, Gracias por introducirme a esto tan útil!, Te ganaste un seguidor!
@BettaTech
2 жыл бұрын
Gracias!!!!
Buenísimo el video hermano
Videazo!
Excelente explicación Visto en 25/02/2020
Gracias por hacer el video :) !