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.
@BettaTech5 жыл бұрын
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-wd2sk5 жыл бұрын
@@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. kzbin.info/www/bejne/faWTfpKFfbCbh6c
@BettaTech5 жыл бұрын
@@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-wd2sk5 жыл бұрын
@@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-qd2is5 жыл бұрын
Buen comentario.
@nyyacat91 Жыл бұрын
Estoy en un Bootcamp y hoy estamos haciendo SOLID con java y ha sido muy útil, te has ganado una nueva subs al canal :)
@felipemartin65813 жыл бұрын
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.h2 жыл бұрын
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.
@sebastianamayazabala16214 жыл бұрын
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.
@m3mbrillo_5 жыл бұрын
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.
@kamuishirou0015 жыл бұрын
"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!!!
@willymatheoo6 ай бұрын
Llevo años viendo este video de vez en cuando y siempre me resulta muy útil y claro, felicidades @BettaTech en 10min diste un muy buen análisis de los principios Solid 🚀💫
@PauSanchez634 жыл бұрын
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.
@kevinpascual84334 жыл бұрын
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.
@NicoILeone5 жыл бұрын
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!
@ramiroalegre81832 жыл бұрын
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.
@ziixu5 жыл бұрын
Por fin parece que KZbin te esté haciendo un poquito más de caso, me alegro de que el canal crezca :)
@sebastianvera14282 жыл бұрын
Aca tb amigo, estan bien explicados, va subiendo de a poco kzbin.info/www/bejne/hKLVf3uXnNxmY5I
@XaviIntheHouse2 ай бұрын
y 4 años despues ya tiene 1/4 de millon
@albertoespinamegia4292 Жыл бұрын
Si señor, que bueno eso de explicar con ejemplos donde se ve claramante, muchas gracias por el aporte :)
@vinyalexandertorres25364 жыл бұрын
Increíble como explicas los principios de manera tan sencilla, gracias a eso lo entendí a la primera ! Saludos desde Colombia.
@versteckt_oficial2 жыл бұрын
Que manera de explicar tan genial. Estás en mi lista de KZbinrs favoritos en cuanto a tecnología. Saludos desde Chile 🇨🇱
@wilsonbalderrama2 жыл бұрын
bravoooo !! que manera de explicar las cosas complejas en simples, te agradesco por tu video y tu aporte gracias!
@josetuz4 жыл бұрын
Recien llego y ya me suscribí. Es muy agradable y amena tu manera de explicar. Un saludo desde Argentina.
@pabloguillermoalarcon1665 Жыл бұрын
Gracias la mejor y mas clara explicacion de principios de solid.
@nicolasflores62 жыл бұрын
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"
@berwick823 жыл бұрын
qué fácil lo explicas. claro, breve y al grano. Gracias !!
@BettaTech3 жыл бұрын
Gracias, saludos!!!!
@enriquemunoz19874 жыл бұрын
Tu forma de explicar, simplemente, brutal. ¡Enhorabuena!
@ramr2416 Жыл бұрын
Muy bien explicado. Los ejemplos ayudan mucho a entender mejor. Gracias.
@elgrancriticon85863 жыл бұрын
Muchas gracias por esta explicación que queda super clara en 10min resumes mucho mejor que googlear.
@BettaTech3 жыл бұрын
Gracias por comentar!!!
@arielbarrios39155 жыл бұрын
No sé cómo haces para ser tan claro cuando explicás un concepto 🤔 . Gracias por tu tiempo
@karinabelenescobar9513 жыл бұрын
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 Жыл бұрын
y cual fue el desenlace? terminaste trabajando en lugares que usan el principio SOLID?
@any_paocs3 жыл бұрын
Me encanta como explicas, es bastante entendible. Gracias
@alejandrocarriongosin53838 ай бұрын
muy buena explicación entendible de SOLID, felicitaciones!!
@jalilburbara5 жыл бұрын
Excelente, me encanta haber encontrado tus vídeos me servirán mucho para repasar y enseñar a mis compañeros
@miguelangelzapataclaros88105 жыл бұрын
Podrias hacer videos hablando de los patrones de diseño y su implementacion. Haces muy buenos videos sigue adelante
@cmicolis Жыл бұрын
Solo se hacen videos que hablan de patos con diseño. 😁
@lowdeffinition5 жыл бұрын
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.
@gTosca_6665 жыл бұрын
Soy programador Java, tu canal es muy interesante.
@alvarocisneros16483 жыл бұрын
Muy bueno. Con todo y el debate sobre el Principio de Responsabilidad única.
@jefferbcn892 жыл бұрын
Gracias por tu explicación, después de mucho videos, por fin entiendo estos principios.
@jezaultalejandroramireztel80113 жыл бұрын
Sublime, elegante, flexible, hermoso!, Gracias por introducirme a esto tan útil!, Te ganaste un seguidor!
@BettaTech3 жыл бұрын
Gracias!!!!
@martinghiena52705 жыл бұрын
Necesito hacerme un poster con las formas normales de Boyce Codd, el ISO stackflow y ahora con SOLID. Excelente video!!!
@ryuzaki1372 жыл бұрын
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
@alejandrocalderon73815 жыл бұрын
Excelente video, Muy bien explicado, me gustaría otro video de estos principios pero en la práctica! Saludos
@alejandrodiazroque18414 жыл бұрын
09:18 , ¿reducir el "desacople" o el "acople"? Muy buen contenido, por cierto.
@AetendaVater5 жыл бұрын
Que bien explicado, me costaba agarrarle a estos principios pero ahora ya los tengo mas claros, un saludo
@aabbccdd112114 жыл бұрын
Tengo que renovar mis conocimientos de programación, me he quedado un poco anticuado, gracias a ti lo estoy consiguiendo
@TheBorpol5 жыл бұрын
Excelente vídeo amigo, tienes una manera de explicar muy buena. Muchas gracias por el excelente contenido! Saludos desde Mexico
@j-kevinm24275 жыл бұрын
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
@TheFJS985 жыл бұрын
Gran video! El siguiente o alguno futuro puede ser sobre los unit test? Un saludo!
@ElCarmenTalleres5 жыл бұрын
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
@xavimc953 жыл бұрын
Excelente, muchas gracias, maestro. Comentario para el algoritmo de KZbin
@jorgegodoy7775 жыл бұрын
Me encanta como explica este señor, super excelente. Gracias Master!!
@orlandoubilla70555 жыл бұрын
Segundo video tuyo que veo, muy claro, muy preciso, buen contenido. Me suscribo!
@money.masters4 жыл бұрын
Un vídeo muy didáctico y perfectamente explicado. Enhorabuena por el canal.
@hectorb.calles59434 жыл бұрын
Makina explicas todo tan facil, eres un crack te has ganado a un seguidor fiel
@jeremiasmedrano13843 жыл бұрын
gracias Martin, siempre tan claro
@neoclassicaltechno3 жыл бұрын
clarísimo y breve!! Gracias!!
@albertotejos24233 жыл бұрын
Contenido muy bien explicado y de forma sencilla, gracias, sigue así!
@TheRadBass3 жыл бұрын
Muchisimas gracias por este video, me ayudó demasiado a comprender los principios solid!
@godot2662 Жыл бұрын
Muy bien explicado, muchas gracias
@juansho938 ай бұрын
Muy buen contenido, muchas gracias. Pregunta, los ejemplos de código que haces en que lenguaje es y en que programas haces esos ejemplos explicativos? Muchas gracias.
@javid23405 жыл бұрын
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?
@enriquemoreno51324 жыл бұрын
Muchísimas gracias por la explicación!
@desireless71325 жыл бұрын
Los ejemplos que das ayudan un montón , gracias por estos videos explicativos. Un saludo
@xavierito29715 жыл бұрын
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.🙂💪
@rodod96024 жыл бұрын
Me encanta el canal, son demas de mucha utilidad explicados de manera muy digerible, genial contenido
@brahamnduque81475 жыл бұрын
Buenos videos, muy bien explicados sigue así! Saludos de un novato programador desde Colombia
@pablohernandez43053 жыл бұрын
Me encanto el video por favor mas videos sobre este tipo de contenido
@ivanpereira98202 жыл бұрын
Excelente video,muchas gracias por compartir
@samuelh3914 жыл бұрын
Excelente explicación! Súper clara! 👍👍
@jeferson90115 жыл бұрын
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.
@brianjohnson18634 жыл бұрын
Muy buen video. Tus videos me hacen amar más mi profesión :) Saludos ^^
@okarook5 жыл бұрын
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.
@gonzalotorrez72465 жыл бұрын
Impecable y super recomendable este vídeo!!
@horaciolampe166 Жыл бұрын
Excelente video. Muy bien explicado. Genio
@terry-2 жыл бұрын
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!
@Joseopg5 жыл бұрын
Excelente Aporte, espero un vídeo sobre interfaces
@PabloHelal4 жыл бұрын
Minuto 10:42 dices: "reducir el desacople", debiste decir "reducir el acoplamiento" o "aumentar el desacople" Gracias por el video. Saludos.
@humbertomanjarres73854 жыл бұрын
Excelente explicación!!
@MglRod2 жыл бұрын
Gracias totales, todo muy claro, .... ando repasando para mi entrevista técnica XD
@cortizmardones Жыл бұрын
Increíble video, gracias por la explicación , nuevo sub
@valevlogs9493 Жыл бұрын
¡Excelente video! Gracias por la ayuda (:
@karinalejandrolugogutierre53954 жыл бұрын
Muy buen video tutorial, saludos desde Venezuela.
@Magistrado19145 жыл бұрын
Excelente explicación Visto en 25/02/2020
@aderpg9533 Жыл бұрын
cuanto conocimiento y que buena barba, mis dieses
@Chemaclass5 жыл бұрын
Estos videos que haces son genial. Muy bien explicados.
@andescosmico30162 жыл бұрын
Muy buenos tus videos. Sin embargo, te sugiero que siempre esté visible en un lado la lista de temas que estás tratando; esto ayudaría bastante al que te está viendo. Por ejemplo, en un momento mostraste la lista de los 5 principios de SOLID, pero desparecienron casi inmediatamente, sería muchísimo mejor (para el que ve) que esa lista permanezca visible hasta después de que hables de INVERSIÓN DE LA DEPENDENCIA.
@eonacademy50363 жыл бұрын
Eres de los pocos programadores en espanol que me caen bien 😺
@sebastianvera14282 жыл бұрын
Aca tambien estan bien explicados los videos SOLID, por si les interesa kzbin.info/www/bejne/hKLVf3uXnNxmY5I
@brayan69254 жыл бұрын
Me fascinaría un vídeo sobre en cuáles casos podría ser contraproducente utilizar SOLID
@ale_gallardo2 жыл бұрын
Cuando el sistema es pequeño y no tendrá escalabilidad en el tiempo.
@enriquedonaire53782 жыл бұрын
Bravo!!! Easy like that! ❤❤
@Al3jandroMartinez Жыл бұрын
Muy útil, muchas gracias!
@BettaTech Жыл бұрын
Gracias por comentar!
@1985stout5 жыл бұрын
Muchas gracias!
@cristianrosas23445 жыл бұрын
Explicas muy bien y la información es súper interesante y fácil de digerir :D
@Manuel-wj1xs3 жыл бұрын
Buenas, BettaTech. Estoy estudiando últimamente sobre SOLID y decir que tu video ayuda mucho, pero según tengo entendido el LSP trata herencia y no composición, para eso estaría el ISP; hasta donde he podido entender. Me da la impresión que el ejemplo de LSP y ISP, es muy parecido, prácticamente iguales. Según entiendo yo el LSP, podría haber una clase Duck abstracta, con los métodos swim y cuack y que de ella extendieran RealDuck y FakeDuck, y que fiera RealDuck el que supiera cómo volar. Si alguien me aclara si mi forma de ver LSP y ISP son correctas, se lo agradecería mucho.
@hectorkaizenf.v.72243 жыл бұрын
2:53 ¿podria Passwordencrypter convertirse en una inyección de dependencia, para ponerlo en el contructor de userRegister?
@saulramirez7275 жыл бұрын
Muchas gracias. Estuvo genial el video
@quieromicubita4 жыл бұрын
Qué buenos consejos. Gracias por tus vídeos!
5 жыл бұрын
Te traes excelente canal aqui... abrazos desde el otro lado del atlantico
@rubenpinadero55325 жыл бұрын
Gracias por la explicación.
@hunabku53494 жыл бұрын
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.
@jorgewandersantanaurena4225 жыл бұрын
Buen video. Gracias @BettaTech Seria grandioso si subes una serie de patrones de diseño. Exitos
@BettaTech5 жыл бұрын
Esta en el plan, pero nose si es mejor grabar varios patrones y subirlo todo a la vez o ir haciendo video semanal :S
@jorgewandersantanaurena4225 жыл бұрын
@@BettaTech Estupendo!!! dado a que existen muchos, creo que seria mas digerible si se tratan por parte. Y mejor aun ya que podrias dedicar mas tiempo a distintos casos de uso, haciendo disenos e implementaciones. Donde se vea la problematica mas a fondo y luego queda resuelta con algun patron en particular. Resaltando su importacia.
@caneallestamartinez27974 жыл бұрын
Una pasada de vídeo 🔥 gran trabajo 💪 Saludos!!😊
@LucasRomeroDiBenedetto5 жыл бұрын
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.