Los principios SOLID

Поделиться
HTML-код
  • Опубликовано: 28 мар 2017
  • El objetivo de aplicar estos cinco principios es crear un código limpio y altamente mantenible a través de la estructura con la que este está escrito.
    LINK notas de este video: thatcsharpguy.com/post/los-pr...
    Los principios SOLID | Feregrino
    EL MEJOR BOOTCAMP DE MACHINE LEARNING
    codigofacilito.com/bootcamps/...
    APÓYAME
    Conviértete en miembro de este canal para disfrutar de ventajas:
    ruclips.net/user/thatcsharpguy...
    Cómprame un cafecito: buymeacoffee.com/thatcsharpguy
    SÍGUEME EN
    TWITTER: / io_exception
    FACEBOOK: / thatcsharpguy
    INSTAGRAM: / thatcsharpguy
    TIKTOK: / thatcsharpguy
    MÁS SOBRE MIS PROYECTOS: thatcsharpguy.com
  • НаукаНаука

Комментарии • 125

  • @LocalGhost_8080
    @LocalGhost_8080 5 лет назад +1

    De acuerdo totalmente. Gran canal hermano. Por cierto, a alguien más le gustaría un video satisfactorio de escritura de código sin errores, limpio y optimo? Sería genial

  • @amadorrosagarrido8422
    @amadorrosagarrido8422 5 лет назад +4

    Lo cierto es que, tanto el área como el perímetro de una figura geométrica son propiedades de la propia figura y por tanto no debería haber problema alguno en que sea el propio objeto el que la calcule. De hecho todas esas formas geométricas podrían extender de una clase abstracta o implementar una interface que les obligue a implementar dichos métodos, y de esa forma la función del programa principal podría llamar a ambos métodos sea cual fuere la forma geométrica a calcular.
    Una de las cuestiones de DDD (una forma de conseguir Solid) es empujar la lógica de negocio hacia el núcleo de la capa de dominio. En este caso, las entidades.

  • @carlosandresmontoya5124
    @carlosandresmontoya5124 5 лет назад +1

    Excelente videooo!
    Mil gracias!

  • @JuanchoThree
    @JuanchoThree 6 лет назад +1

    Muchas gracias por la explicacion.

  • @MoraneJudah
    @MoraneJudah 7 лет назад +1

    Excelente, muy bien explicado...

  • @caosabitan
    @caosabitan 4 года назад

    Perfecta la explicación, muchas gracias!!!

  • @luciacalisaya2384
    @luciacalisaya2384 2 года назад

    Muchas gracias por las explicaciones y los ejemplos agregados a cada principio SOLID!

  • @Geroshi1
    @Geroshi1 7 лет назад +14

    Muy Bueno, y lo de mesclar código esta bien por que da una idea más clara de donde o como aplicar los principios. like!! por el video

    • @feregri_no
      @feregri_no  7 лет назад +1

      Gracias por el comentario... ¡y el like!

    • @bryanlemus705
      @bryanlemus705 3 года назад

      @@feregri_no r m!!😎😘Tim
      :-*(TT):-\:-\:'(:-\:-\

  • @RominaDelgado-vy3pq
    @RominaDelgado-vy3pq 5 лет назад +4

    Muy buena explicación! Estoy por rendir examen final de una materia, y esto me viene bárbaro! Saludos desde Argentina

  • @cacarrilloo
    @cacarrilloo 5 лет назад

    Muchas gracias, estoy revisando mucha información de SOLID y esto me ayuda.

  • @Jeecio
    @Jeecio 7 лет назад +1

    Gracias, muy buen vídeo!

  • @alonsomoran7740
    @alonsomoran7740 5 лет назад

    ¡Gracias por la explicación!

  • @glara935
    @glara935 5 лет назад

    Excelente vídeo, muy clara la explicación.

  • @crunchover
    @crunchover 5 лет назад +1

    Muy claro de verdad buena explicacion

  • @brunodigiorgio1127
    @brunodigiorgio1127 4 года назад

    Excelente explicación,muchísimas gracias ,me subscribo.

  • @inakineitor
    @inakineitor 4 года назад

    Muy buen video, me ayudaron mucho los ejemplos!!! Salu2

  • @OmarHinojosaM
    @OmarHinojosaM 5 лет назад

    Me gusto tu video de SOLID y tus tecnicas de enseñanza: )
    1) Enseñar con ejemplos,
    2) Enseñar de tal manera que todos entiendas excepto si estas distraido,
    3) Programar codigo como si armaras un Lego
    agregaria: Quien no vive para servir, no sirve para vivir

  • @joelrodriguezdiaz7582
    @joelrodriguezdiaz7582 5 лет назад +1

    Coincido con los compañeros, me parece perfecta la mezcla entre teoría y código, me parece un balance super, apoya a la explicación!!!

  • @ArmandoHinojosaCcamaSARC
    @ArmandoHinojosaCcamaSARC 5 лет назад +2

    Chaleee ... de tiempo que regreso por aquí, no pues que genial todo esto, ya que la teoría solo se queda en allí cuando la persona no es capaz de aplicarlo.
    Esta bueno todo esto

  • @baga2809
    @baga2809 4 года назад

    Que bien crack me encanta ver personas que comparten sus conocimientos que no se quedan con el eso los hace mas grandes los genios a lo largo de la historia se caracterizaban por eso por que compartian lo que sabian

  • @ifrit1537
    @ifrit1537 4 года назад

    Quiero entender y aplicar de buena manera el principio SOLID y creo que con este video empecé por el lugar correcto, buena explicación.

  • @sntclauss
    @sntclauss 7 лет назад +4

    Excelente explicacion, gracias a tu video entendi muchas cosa que hasta ahora no había podido entender apropiadamente. Muchisimas gracias!

    • @feregri_no
      @feregri_no  7 лет назад

      Fantástico, me alegra que te haya servido. Te invito a suscribirte y si tienes dudas de algún tema, me dices :)

    • @sntclauss
      @sntclauss 7 лет назад

      Suscrito estimado ;D , por cierto, totalmente de acuerdo con que pongas partes de código, hace todo mucho mas fácil de entender.

  • @cristiangardoni8185
    @cristiangardoni8185 6 лет назад +1

    Excelente la explicacion que das! Muchas Gracias!

    • @feregri_no
      @feregri_no  6 лет назад

      Espero que te haya servido :)

  • @alex_asitimbay_rottweiler9758
    @alex_asitimbay_rottweiler9758 3 года назад

    Excelente explicación, Felicitaciones!!

  • @chriserc
    @chriserc 7 лет назад +3

    buen video, gracias por compartir

    • @feregri_no
      @feregri_no  7 лет назад

      +Christian Ramirez Castillo por nada, que bueno que te gustó

  • @cesarvallejo7993
    @cesarvallejo7993 4 года назад +1

    Excelente ese mix de teoria y codigo. Muchas gracias!

    • @feregri_no
      @feregri_no  4 года назад

      Espero que te haya servido ;)

  • @alexisnavarretevillalobos7936
    @alexisnavarretevillalobos7936 4 года назад

    excelente aporte , sigue así

  • @NotengolD
    @NotengolD 4 года назад

    Muy buen video sobre todo como contando una historia, en su libro de arquitectura limpia Uncle Bob aclara que en el primer principio SRP la "razón para cambiar" es el usuario/stakeholder, es decir si dos usuarios piden un mismo reporte a acada uno se le debe construir uno separado porque si uno de los usuarios pide cambios estos impactarían en el otro usuario, así la se condensa en que las cosas que cambian por un mismo motivo van juntas y las que no, van separadas. Saludos

  • @spartanzarazua117
    @spartanzarazua117 3 года назад

    Muy buen video, explica muy bien los principios SOLID

  • @martincastagno8945
    @martincastagno8945 3 года назад

    Explicación impecable!

    • @feregri_no
      @feregri_no  3 года назад

      Gracias, espero te haya servido.

  • @coleao
    @coleao 3 года назад

    Como nunca vi esto antes!! que buen video por cierto.

  • @arturoalejandroyepvela4237
    @arturoalejandroyepvela4237 5 лет назад

    Me encanto el video. Me ayudo mucho

  • @lucasmontegu6676
    @lucasmontegu6676 4 года назад

    Muy buena explicación, gracias

    • @feregri_no
      @feregri_no  4 года назад

      Espero te haya servido mi buen :)

  • @gamenon19
    @gamenon19 2 года назад

    Excelente video muchas gracias

  • @rubencruz2687
    @rubencruz2687 3 года назад

    Muy bueno! Gracias!

  • @Assiel1
    @Assiel1 4 года назад

    buena explicacion, gracias. ya con esto tengo una introduccion SOLIDa

  • @eduardoromeromarin4065
    @eduardoromeromarin4065 4 года назад +1

    Muy buen tuto

    • @feregri_no
      @feregri_no  4 года назад

      Gracias, espero t ehaya servido :)

  • @luisfernandovalderramagast3265
    @luisfernandovalderramagast3265 2 года назад

    Gracias por la explicación

    • @feregri_no
      @feregri_no  2 года назад

      De nada! gracias por comentar!

  • @marcosrealit8925
    @marcosrealit8925 6 лет назад +1

    Bien explicado , gracias.

  • @edu1acc
    @edu1acc 6 лет назад +1

    Agradecido con la explicación amigo

    • @feregri_no
      @feregri_no  6 лет назад

      ¡Que bueno que te resultó de utilidad!

  • @macasino19
    @macasino19 3 года назад +1

    se agradece

  • @freddvincent
    @freddvincent 3 года назад

    *Excelente video! Gracias*

  • @eudyreynoso1889
    @eudyreynoso1889 3 года назад +1

    Yo estoy aprendiendo programación orientada a objetos y estos sí que evita las malas prácticas

  • @stewartmacias4999
    @stewartmacias4999 3 года назад

    Excelente explicación!

  • @oscarph88
    @oscarph88 6 лет назад

    Gracias amigo, que bien explicado

    • @feregri_no
      @feregri_no  6 лет назад

      Muchas gracias, espero te haya servido.

  • @jguitartcas
    @jguitartcas 5 лет назад

    Eres muy grandeee !! un buen video para entender el principio de SOLID

    • @feregri_no
      @feregri_no  5 лет назад

      ¡Qué bueno que te fue de utilidad!

  • @bep8580
    @bep8580 4 года назад

    Eres una máquina

  • @AaronLunaParrado
    @AaronLunaParrado 4 года назад

    muy bueno!

  • @ivonnemitmahuaccha2369
    @ivonnemitmahuaccha2369 4 года назад +1

    Excelente video

    • @feregri_no
      @feregri_no  4 года назад

      Ojalá te haya servido :)

  • @hansfpc4103
    @hansfpc4103 5 лет назад

    Excelente vídeo

  • @PabloHelal
    @PabloHelal 4 года назад

    Excelente !

  • @brunochiappelo4674
    @brunochiappelo4674 5 лет назад +1

    Muy buen video! :D

    • @feregri_no
      @feregri_no  5 лет назад +1

      Heyyy, gracias. Espero te haya servido.

  • @yamildelgado6555
    @yamildelgado6555 6 лет назад +1

    Gracias me gusto , me quedo claro el principio SOLID

    • @feregri_no
      @feregri_no  6 лет назад

      Que bueno que te haya servido :D

  • @malbufonutn
    @malbufonutn 6 лет назад +3

    Hueleum! Gracias buen video, hacer código en vivo sería más entendible, saludos.

  • @amilcarjosesanchez
    @amilcarjosesanchez 3 года назад

    Magistral!

    • @feregri_no
      @feregri_no  3 года назад

      Muchas gracias, espero que te haya servido.

    • @amilcarjosesanchez
      @amilcarjosesanchez 3 года назад

      @@feregri_no de cierto que si, muy muy bueno, necesito crecer en eso y ese video me aclaro bastante

  • @santiagomontanolince2996
    @santiagomontanolince2996 5 лет назад

    Hola, excelente explicacion... Me queda una duda, cuando hablas del principio de sustitución de Liskov comentas que las clases derivadas deben extender pero no modificar el comportamiento que ya existía... Entonces, la sobreescritura de métodos debería darse solo sobre métodos abstractos?

  • @AcuScorp
    @AcuScorp 3 года назад +1

    Excelente video, muchas gracias por brindar tu conocimiento. Solo una pregunta. ¿En la parte de inyección de dependencias en el método calculate creo que se podria separar en calculateArea y calculatePerimeter y asi no se viola el de single responsability.
    La verdad estuvo muy bueno tu video.

  • @ezequielamorosino3433
    @ezequielamorosino3433 4 года назад +1

    Me podrias explicar que hiciste exactamente en el 8:45 ?
    No tengo mucha experiencia programando, y comprendo el concepto de interfaz, pero lo que hiciste ahi seria algo asi como decir "Interfaz_child herencia de Interfaz_parent1 ó Interfaz_parent2", o toma de ambas interfaces?

  • @edustreamimg
    @edustreamimg 4 года назад

    Hola! en el metodo calculate: 10:35 se inyecta figuras, pero si tuviera ThreedOperations() me obligaría a modificar GreatCalculator.calculate, es decir estariamos violando el principio O?? Por otro lado, el principio de substitución de listskov te obliga a no usar overrides?

  • @CarlosGarcia-bj2py
    @CarlosGarcia-bj2py 7 лет назад +1

    Genial el vídeo! Yo también voto a favor de incluir ejemplos de código a los vídeos, facilita mucho la comprensión de la teoría.

    • @feregri_no
      @feregri_no  7 лет назад

      Fantástico, para considerarlo. Gracias por el comentario.

  • @carolinamunoz5823
    @carolinamunoz5823 4 года назад

    Maestro de Maestros.

  • @jeanforero7719
    @jeanforero7719 4 года назад

    Muy pro brothe

  • @danielpinto5680
    @danielpinto5680 4 года назад +1

    Un poco mas y saca las manzanas y las peras!(auque saco las figuras geometricas.. xD), muy buen video!

  • @Joannaelizabethstar
    @Joannaelizabethstar 5 лет назад

    Excelente

  • @cesarfranco6528
    @cesarfranco6528 5 лет назад

    En la parte de Single Responsability Principle mencionas que hay que quitar la funcionalidad de la clase. Pero en la parte de Open Closed Principle, al declarar las interfaces y definiras en las cases Rectangle y EquilateralTriangle no se estaria haciendo lo que se habia omitido en Single Responsability Principle? Solo es una duda :D

  • @mastercoolmoo
    @mastercoolmoo 6 лет назад

    Tengo con duda con el liskov, segun la definicion que diste se parece mucho al open-close, puedes ayudarme ?

  • @taigorocortez7035
    @taigorocortez7035 3 года назад +1

    el bolonqui que se armo por un pinche triangulo jajajaa muy bueno gracias

  • @albertomerchanc2855
    @albertomerchanc2855 5 лет назад

    En el primer principio tengo una duda... si despues se quiere agregar un método que se llame MultipiplicacionPerimetros... ¿Se debería crea dentro de la clase PerimeterOperations o se debería crear una nueva clase ?

  • @redlines2535
    @redlines2535 7 лет назад +1

    mola

  • @alejandroricotti6284
    @alejandroricotti6284 2 года назад

    Tengo una consulta, espero puedas leerme y explicar
    Cuando explicas el principio de responsabilidad unica decis que por ejemplo en la clase circulo no deberias tener los metodos de calcularArea o calcularPerimetro.
    Pero cuando explicas el principio de open close les aplicas una interface donde deben tener el metodo de Area y Perimetro
    Muchas gracias
    Saludos

  • @leontelarrauri2988
    @leontelarrauri2988 4 года назад

    Excelente, y con C# es mas claro.

  • @CarlosGonzalezRubio
    @CarlosGonzalezRubio 5 лет назад

    Cuando puedas hacer otro video de este estilo pero de GRASP

  •  6 лет назад

    Tengo una duda respecto a la implementación de la solución para cumplir con el principio "dependency inversion": ¿al crear una función que cree las figuras no estamos violando el principio "open/closed"?
    Respecto al formato, es mejor, de hecho, faltaría ver más tiempo el código, hay que pausar el video para ver y entender.

  • @bep8580
    @bep8580 4 года назад

    Te quiero

  • @compartelo007
    @compartelo007 Год назад

    @00:46 pues según el "Tio Bod" Robert C. Martin creador de los principios Solid si que el orden tiene prioridad . Dicha prioridad es S.O.L.D.I pero como nemotécnicamente quedaba mejor SOLID lo dejo de esta manera pero la prioridad era la que he dicho anteriormente.

  • @angelocardona7141
    @angelocardona7141 7 лет назад +7

    Gracias por el video y se nota que tu conocimiento es sólido, pero cuando voy a aprender algo de programación no le quiero ver la cara al que hace el video todo el tiempo, quiero ver el código, quiero ver un mouse que me muestre más en detalle que sucedió y como fue afectado, de nuevo no critico tu conocimiento sino tu habilidad para exponerlo

    • @feregri_no
      @feregri_no  7 лет назад +2

      Yep, siempre que subo un video así me entra la duda de si es muy teórico lo que expongo (y si es que debo poner más código de x o y cosa). Hay distintas maneras de aprender y de tratar de enseñar. Gracias por el comentario, lo tomo mucho en cuenta :)

    • @JohanDavidTurgaOrtiz
      @JohanDavidTurgaOrtiz 5 лет назад

      El codigo es aburrido de por si, para mucha gente, para uno que le gusta programar si, prefiere ver el código y mas nada, pero me parece que esta bien asi, que le puede poner figuritas y esas cosas, pos si, pero la verdad yo entendi

  • @kmiiloberrio-dev
    @kmiiloberrio-dev 5 лет назад

    Hola,
    podrias compartir las imagenes de ejemplo?

  • @eloynunez3953
    @eloynunez3953 5 лет назад

    No entendí mucho por que no se nada de C#, pero me quedo algo de conceptos de solid, seria bueno que lo hagas con java

    • @TheGeardarko
      @TheGeardarko 5 лет назад

      Busca el canal de nicosiored el enseña desde lo básico hasta avanzado y tiene un curso de solid

  • @alfredorodriguez598
    @alfredorodriguez598 5 лет назад

    SOLID se resumen en hacer polimorfismo por Herencia o por interfaz, al hacer esto todo se cumple correctamente.

  • @erickhilario6217
    @erickhilario6217 4 года назад

    Como se solucionaría si tuviese que agregar una funcionalidad y se usa muy pocas veces ?

  • @sebastianaponte2369
    @sebastianaponte2369 5 лет назад

    la barba lo dice todo este tipo sabe

  • @victormanuelfloreztaborda4406
    @victormanuelfloreztaborda4406 4 года назад

    che buen video hermano, solo que intente revisar la url de notas del video pero ya no funciona, aun que la del blog si sigue latente

    • @feregri_no
      @feregri_no  4 года назад

      Aquí están :) thatcsharpguy.com/posts/los-principios-solid/

  • @luisdamian4387
    @luisdamian4387 3 года назад +1

    Los principios SOLID son agnósticos del lenguaje, por lo cual sería igual si se explica con casos de usos, igual se debería entender.

  • @emmanuelvalverderamos
    @emmanuelvalverderamos 3 года назад

    SOLID en PHP 🎯
    dev.to/evrtrabajo/solid-in-php-d8e

  • @bryanlemus705
    @bryanlemus705 3 года назад

    Tu!!!!!Kg!😥😥

  • @sebzs1873
    @sebzs1873 4 года назад

    Jaja xd es mi a.k.a q loco

  • @EmiFolkMusic
    @EmiFolkMusic 4 года назад

    Por favor, no hagas eso de que el texto se mueva acercandosé hacia la camara. Es re confuso, encima que es dificil ya leer el codigo.

  • @kevinsolis1911
    @kevinsolis1911 3 года назад

    Like si estan viendo el video en el curso de diseño de aplicaciones

  • @Daniel28644
    @Daniel28644 4 года назад

    rayos, me doy cuenta que soy un violador nato

  • @julian.muhlberger
    @julian.muhlberger 4 года назад +1

    Muy bueno!. Muchas gracias por la explicación.

  • @erickhilario6217
    @erickhilario6217 4 года назад

    Como se solucionaría si tuviese que agregar una funcionalidad y se usa muy pocas veces ?