Patrón DECORATOR con CÓDIGO | Ejemplo REAL

แชร์
ฝัง
  • เผยแพร่เมื่อ 8 ก.ย. 2024
  • Vamos a programar un patrón decorator y os enseño un uso real de éste patrón en una librería de sistema de JAVA. Espero que os guste!
    Repositorio:
    github.com/mar...
    Redes sociales 👇🏽
    🐦 Twitter: / bettatech
    📸 Instagram: / betta_tech
    📹 Canal Secundario: / @forkdebettatech
    💬 Slack: bit.ly/33gaDDM
    📚 LIBROS!
    Design Patterns 👉 amzn.to/39XuQlq
    Head First Design Patterns 👉 amzn.to/2uq6XUq
    Refactoring 👉 amzn.to/2SQnf2c
    Clean Architechture 👉 amzn.to/3bZVonJ
    Clean Code 👉amzn.to/32WVKq3
    Introduction to Algorithms 👉amzn.to/34SyVFP
    Cracking the Coding Interview 👉amzn.to/2QkdwC6

ความคิดเห็น • 125

  • @BettaTech
    @BettaTech  4 ปีที่แล้ว +31

    Os dejo el repositorio aquí por si os lo queréis bajar o cotillear!!
    github.com/martincrb/decorator-design-pattern

    • @armandopereztorres8695
      @armandopereztorres8695 2 ปีที่แล้ว +1

      Veo este video y me imagino Plants Vs Zombies. Excelente explicación! Felicidades!

  • @xavierll
    @xavierll 4 ปีที่แล้ว +93

    Toda la serie de Patrones tendría que tener este enfoque! Y si mediante edición se pudiese ver la implementación vs su UML sería ya de 10!

    • @BettaTech
      @BettaTech  4 ปีที่แล้ว +20

      Por eso siempre intento poner el UML con el "código" en la imagen en vez de simples "cajitas"... sólo que quizá es más difícil de leer jaja

  • @Maisonier
    @Maisonier 4 ปีที่แล้ว +7

    Estos videos son buenísimos. Recomendadisimo a todos mis contactos.

    • @BettaTech
      @BettaTech  4 ปีที่แล้ว

      Mil gracias!

  • @patousarg
    @patousarg 4 ปีที่แล้ว +3

    Quería felicitarte Martin, por tus videos.
    Lográs explicar en no más de 15 minutos, muchos conceptos que llevan quizás un semestre entero para comprender. No sólo los explicas con claridad, si no también que agregas ejemplos concretos! Felicitaciones por eso.
    Algo para aportar a tu video... Es que podrías continuar el ejemplo y explicar composite con ataques de un hero =)
    Saludos desde Argentina

  • @gustavovalmana5360
    @gustavovalmana5360 8 หลายเดือนก่อน

    Entendí perfectamente y pude relacionarlo con un codigo de pagos, dónde tienes un pago con una cantidad inicial y le aplicas decoradores para aplicar descuentos o aumentos al valor inicial, como cada pago decorado sigue siendo un pago entonces puedes hacer lo mismo que haces con todos los pagos como pagar, cancelar, posponer, etc.

  • @sleter2929
    @sleter2929 3 ปีที่แล้ว

    madre mia los patrones, como pude programar sin ellos

  • @togacentral
    @togacentral 2 ปีที่แล้ว

    Excelente explicación y demostración muchas gracias por compartir tu conocimiento. Saludos...

  • @Jorge150CL
    @Jorge150CL 4 ปีที่แล้ว

    Excelente, a veces el trabajo nos convierte en máquinas y nos aleja de la tan necesaria abstracción para resolver problemas. Videos como estos ayudan a entender los problemas desde otro enfoque y entender cómo funcionan las librerías que usamos. Buenos videos.

  • @idroj07
    @idroj07 4 ปีที่แล้ว

    Super ilustrativo! con una explicación así, más pausada y con código real se entiende mucho mejor. Gracias!

  • @asaelJBmedina
    @asaelJBmedina 4 ปีที่แล้ว

    Me quedo muy claro con ese ejemplo el patrón decorador y un gran plus que lo explicaste con TS, y compilando usando deno. Excelente aporte!

  • @andreslopez2804
    @andreslopez2804 4 ปีที่แล้ว

    Este enfoque práctico con codigo es increíble para este tipo de videos sobre patrones de diseño, gracias por todo tu trabajo Martín, sigue asi👏👏👏

  • @KelvinVelasquez
    @KelvinVelasquez 3 ปีที่แล้ว

    Me impresiona como maneja el concepto para en base al concepto saber que logia usar por eso es importante saber bien la teoria.

  • @pablosanz5037
    @pablosanz5037 4 ปีที่แล้ว

    Mucho más claro así. Este patrón creo que necesitaba esta explicación extra. Gracias!

  • @Jocker88
    @Jocker88 4 ปีที่แล้ว +2

    Genial vídeo, si lo haces con los diferentes patrones sería magnifico. Aún que el tema de patrones es largo (hay muchos) ver su implementación después de la teoría, es simplemente magnifico.
    Un saludo.

  • @antonioitsolutions8792
    @antonioitsolutions8792 4 ปีที่แล้ว

    Super super útil, los demás patrones de la serie deberían tener un video así, mis dieses

  •  3 ปีที่แล้ว

    Buenísimo, y el final viendo cómo lo implementa la API de java fué lo mejor. Yo creo que conociendo los patrones de diseño populares y sabiendo cómo las librerías o APIs de los lenguajes lo implementan sería mucho más fácil aprender a usar un lenguaje con sus librerías de manera más apropiada. Siempre me he preguntado por qué las librerías o APIs no se enseñan a usar con patrones de diseño. En verdad creo que los patrones ayudan mucho a ser mejor programador. Yo soy fan de los patrones desde que los conocí y poco a poco intento implementarlos. Te agradezco el video.

  • @noffsmith9906
    @noffsmith9906 4 ปีที่แล้ว

    Lo máximo bro, viendo tus videos he entendió una cantidad de cosas que hasta ahora no lograba entender ...

  • @carlitosmo
    @carlitosmo 3 ปีที่แล้ว

    hola, te sigo porque tus videos son interesantísimos, he aprendido mas como profesional, no son los típicos crud de TH-cam, me gustaría saber en que sistema empresarial podrías aplicar un diseño así.

  • @vaandarken
    @vaandarken 4 ปีที่แล้ว

    Excelente video
    deberías continuar con éste formato para los demás patrones de diseño
    Gracias

  • @googleuser9422
    @googleuser9422 4 ปีที่แล้ว +6

    Muy bueno! Lo entendi mucho mejor ahora :D

    • @BettaTech
      @BettaTech  4 ปีที่แล้ว +2

      Gracias!! Lo importante es que quede claro 😊 Me alegra que te haya sido útil!

  • @DannyMatarrita
    @DannyMatarrita 3 ปีที่แล้ว

    Estoy iniciando con programación web y me encantan la forma en que explicas !

  • @yonatanaquinteror2989
    @yonatanaquinteror2989 4 ปีที่แล้ว

    Muchas gracias, con código de ejemplo se entiende más que solo teoría

  • @antoniodesousabarroso7945
    @antoniodesousabarroso7945 3 ปีที่แล้ว

    Hola, gracias por compartir tus conocimientos y ser tan buen divulgador.

  • @alex148m
    @alex148m ปีที่แล้ว

    muchas gracias por el video, muy bien explicado, un saludo!!

  • @erickhilario6217
    @erickhilario6217 4 ปีที่แล้ว +22

    LIKE PARA QUE LO VEA
    Podrías hacer uno haciendo un pequeño proyecto y explicar los principios solid ampliamente por favor!

  • @danielpacheco2520
    @danielpacheco2520 ปีที่แล้ว

    Que brutal esa informacion, no puedo decir mas. 10/10

    • @BettaTech
      @BettaTech  ปีที่แล้ว

      Gracias por comentar

  • @alvarocisneros1648
    @alvarocisneros1648 3 ปีที่แล้ว

    Todo muy claro. Muchas gracias.

  • @luistalavera6392
    @luistalavera6392 4 ปีที่แล้ว

    Uffff, excelente explicación se nota el dominio de los conceptos de programación. Muchas felicidades por tan buen video.

  • @multimastermas
    @multimastermas 4 ปีที่แล้ว

    Hermano has tardado mucho en subir esta serie. Mañana tengo examen de Diseño de Sistemas Software de la Universidad y me entra todo este tema. Wish me luck xD

  • @danielsaenzdecoscalacalle6669
    @danielsaenzdecoscalacalle6669 2 ปีที่แล้ว

    Muy buena explicación. Gracias!

  • @danielquirospicado431
    @danielquirospicado431 4 ปีที่แล้ว

    Excelente ejemplo de patrón, muy claro,crack 👍haces videos muy buenos

  • @iorch82
    @iorch82 4 ปีที่แล้ว

    Muy bien explicado, un patrón muy bonito. Explicado mejor incluso que el libro HeadFirst que tienes ahí atrás :)

  • @Max-gt8hi
    @Max-gt8hi 4 ปีที่แล้ว

    Muchas gracias, excelente explicación... saludos. Tienes razón, con código real se entiende mejor.

  • @doncarlos212
    @doncarlos212 4 ปีที่แล้ว

    Muy buen vídeo, me ha gustado mucho, me gustaría que siguieras tratando temas tan interesantes y también que hicieras algún vídeo de libros o recomendaciones para ser mejores programadores.

  • @johnd.gomezh.1413
    @johnd.gomezh.1413 4 ปีที่แล้ว

    Muchas gracias por todos los vídeos que publica. Me encantaría ver un vídeo sobre inyección de dependencias y ejemplos en typescript(javascript) si fuera posible.

  • @BrendaaaSanchez
    @BrendaaaSanchez 4 ปีที่แล้ว +1

    Una genialidad 🙋‍♀️

  • @Magistrado1914
    @Magistrado1914 4 ปีที่แล้ว

    Excelente explicación
    Visto en 11/06/2020

  • @rubenrios5010
    @rubenrios5010 4 ปีที่แล้ว +7

    Hola! una pregunta, como añadirías un orden a esos decoradores? por ejemplo en este caso son divisiones y por tanto el orden da igual, pero en el caso de que hubiera una suma/resta y luego una multiplicación o división, ahí sí que afectaría el orden, que se podría hacer en esa situación? un saludo y gracias por tus videos!!

  • @TheSuperHombre
    @TheSuperHombre 3 ปีที่แล้ว

    Gran explicación, saludos.

  • @nikensss
    @nikensss 4 ปีที่แล้ว

    El otro video se quedo muy teorico. Aqui se ve todo muy claro! :D

  • @carloscastaneda3169
    @carloscastaneda3169 4 ปีที่แล้ว

    Excelente trabajo! Admirable el gusto por compartir conocimiento.

  • @HAL-9000-
    @HAL-9000- 4 ปีที่แล้ว

    En código real es mucho mejor, gracías!

  • @tachuela2able
    @tachuela2able 4 ปีที่แล้ว

    Excelente video con una explicación súper clara. ¡Muchas gracias por tan buen video!

    • @BettaTech
      @BettaTech  4 ปีที่แล้ว

      Gracias a ti por verme! :D

  • @sodark86
    @sodark86 2 ปีที่แล้ว

    El problema que veo aqui es que tienes un orden al fin y al cabo. Independientemente al Enemy le pognas primero un casco y luego una armadura o al reves, primero una armadura y luego un casco. Me refiero, que si tienes el ejemplo de casco y luego armadura, para quitarle el casco o bien haces un getter para que el Decorator te devuelva el enemy interno o obligas a romper primero la armadura para luego romper el casco.
    Sería posible tener un ArrayList de decorators al enemy y que en cada ataque, se recorra dicho array calculando el daño? De esta forma si le rompes el casco, recorres el array de decorators y haces un pop(). Así en la siguiente iteración ese decorator ya no suma a la defensa.

  • @ricardorector3080
    @ricardorector3080 4 ปีที่แล้ว

    Super explicado, creo que seria bueno que de la misma forma explicaras los anteriores.

  • @Rekefa
    @Rekefa 4 ปีที่แล้ว

    Muchas gracias por estos buenos videos BettaTech! Sigue así con el buen contenido se te apoya siempre desde Nicaragua.

    • @BettaTech
      @BettaTech  4 ปีที่แล้ว +2

      Gracias Rekefa! Saludos a todos desde aquí!! :D

  • @buhotecnologico4756
    @buhotecnologico4756 3 ปีที่แล้ว

    Más aplicaciones de patrones con código por favor, muy buenos tus videos!

  • @javigarcia-ripoll6578
    @javigarcia-ripoll6578 4 ปีที่แล้ว

    ¡Me ha encantado el vídeo! Tu voz se parece un montón a la de MoureDev 🤯😂

  • @devy1451
    @devy1451 2 ปีที่แล้ว

    Muchas gracias amigo !

  • @FlightgearTutorials
    @FlightgearTutorials 4 ปีที่แล้ว +1

    Wow verdaderamente ahora queda mucho mas claro y no con tanta teoria que nos hacen creer los organismos publicos.
    Lo unico que me surgio fue una duda y es que diferencia habria entre usar esta arquitectura y usar listados/colecciones. Ejemplo:
    Clase Enemy:
    Dim Decorators as New Collection
    Public function ComputeDamage()
    For each decorator in Decorators
    vDamage = decorator.setDamage(vDamage)
    Next
    ComputeDamage = vDamage
    End Function
    Clase Helmet:
    Function SetDamage(pDamage)
    SetDamage = pDamage - 10
    End Function
    Clase Armour:
    Function SetDamage(pDamage)
    SetDamage = pDamage - 25
    End Function
    Y finalmente para decorar al Enemigo:
    BaseEnemy = new Enemy
    BaseEnemy.Decorators.Add new Helmet
    BaseEnemy.Decorators.Add new Armour

    • @BettaTech
      @BettaTech  4 ปีที่แล้ว +1

      En este caso de uso tu método es totalmente válido 😀 La diferencia es que con Decorator no necesitas "modificar" el componentes que va a ser decorado. Me explico. En tu ejemplo funciona porque Enemy tiene conocimiento que va a recibir decoradores. Pero imaginate que quieres decorar clases que no son tuyas, que son de una librería o que son de sistema y por lo tanto no puedes acceder a su implementación para añadir esa lógica...
      Gracias por el comentario!

    • @FlightgearTutorials
      @FlightgearTutorials 4 ปีที่แล้ว

      @@BettaTech Wow gracias por la increiblemente rapida respuesta. Y tambien por la aclaracion. Ahora soy mucho mas consciente de cuando usar uno y otro. :) Ahora vivo en un mundo de luz y color jejejeje mil gracias

  • @alexisrivas433
    @alexisrivas433 ปีที่แล้ว

    capo se entedio perfecto, gracias

  • @JoseMartinez-pl4do
    @JoseMartinez-pl4do 4 ปีที่แล้ว

    Muy buen vídeo, usando código para detallar el uso del patrón, y una duda que me surge es que tan recomendable es usar un patrón de diseño cuando ya hay mucho código avanzado, gracias por esta serie de patrones de diseño, que desde que los vi en la carrera me encantaron.

  • @angelyesidmondragonrodrigu6878
    @angelyesidmondragonrodrigu6878 4 ปีที่แล้ว

    Que buen video amigo , gracias por compartir tu conocimiento

  • @ezequielgonzalez656
    @ezequielgonzalez656 4 ปีที่แล้ว +1

    Simplemente gracias !!

  • @robertosanchezduarte
    @robertosanchezduarte ปีที่แล้ว

    Gracias muy bueno!

  • @inmutante
    @inmutante 3 ปีที่แล้ว

    Muy buen vídeo, como todos los de esta serie de patrones.
    Sólo me surge una duda en el ejemplo, entiendo que es un ejemplo pero... En estos ejemplos concretos en caso de que quiten el casco de un golpe...¿Cómo quitas de ese enemy ese decorador?

  • @brandonlopez6328
    @brandonlopez6328 9 หลายเดือนก่อน

    Bárbaro, buenisimo

  • @Victor_Lopez_Alonso
    @Victor_Lopez_Alonso 4 ปีที่แล้ว

    Muy bueno el ejemplo final de aplicación sobre las clases de InputStream en la API de Java. ¿Tiene este patrón algo que ver con el paradigma AOP que implementa el framework Spring por ejemplo? Muchas gracias, utilísimo tu canal.

  • @PabloHelal
    @PabloHelal 4 ปีที่แล้ว

    Muchas gracias.

  • @terry-
    @terry- 9 หลายเดือนก่อน +1

    Con este patrón, cómo sería para sacar un decorador? O sea si lo decoré 2, 3 o 4 veces, como se haría para sacarle el decorador 3, que sería solamente el casco por ejemplo?

  • @victornaranjo3827
    @victornaranjo3827 4 ปีที่แล้ว

    Hola amigo , un saludo! ¿Que tal una serie sobre arquitectura de software ? estaría buenísimo

  • @javierquirozgalindo664
    @javierquirozgalindo664 4 ปีที่แล้ว

    Excelente ejemplo!

  • @chiptunesfreemusic5040
    @chiptunesfreemusic5040 4 ปีที่แล้ว +2

    Cuando usas los dos puntos, : , por ejemplo takeDamage() : number, eso es solo porque es una interface o siempre que uses class y un método le puedes poner eso? , es como definir el tipo de valor que va a regresar, o con el que va a trabajar internamente? gracias por estos videos

    • @BettaTech
      @BettaTech  4 ปีที่แล้ว +1

      Indica el tipo del valor de retorno de la funcion 😊

    • @chiptunesfreemusic5040
      @chiptunesfreemusic5040 4 ปีที่แล้ว

      @@BettaTech Ah, gracias buen hombre.

  • @rjfortis5415
    @rjfortis5415 4 ปีที่แล้ว

    Eres un genio! Excelente contenido!

    • @BettaTech
      @BettaTech  4 ปีที่แล้ว +2

      Muchas gracias! 😄

  • @juliocesarbenitezc.1467
    @juliocesarbenitezc.1467 4 ปีที่แล้ว

    gracias.

  • @otharwaotharwa1462
    @otharwaotharwa1462 4 ปีที่แล้ว

    Me gustaria saber que plugins usas para el VSCode.
    La verdad es que al ver esta explicación me dieron muchas ganas de empezar a jugar de nuevo con TypeScrypt.
    Gracias

    • @otharwaotharwa1462
      @otharwaotharwa1462 4 ปีที่แล้ว

      Otra cosa mas. De los libros que recomendas, ¿Sabes si existen versiones en Español? y de ser el caso, ¿Los recomendarías o te parece mejor leerlos directamente en Ingles ?

  • @sgfpv5897
    @sgfpv5897 3 ปีที่แล้ว

    Buen video :)
    tengo una pregunta,
    ya se que este video es para explicar el patron decorador.
    Pero en este caso no es mejor darle al Enemy un objeto que sea casco o armadura??

  • @NicolasAlbamurillo
    @NicolasAlbamurillo 3 ปีที่แล้ว +1

    Si tengo un objeto con varios decoradores, como puedo quitar un decorador del medio?

  • @keenkidash7616
    @keenkidash7616 4 ปีที่แล้ว

    7:50 el método takeDamage() de la clase abstracta EnemyDecorator podría (debería) ser abstracto. Las mismas implementaciones concretas de EnemyDecorator van a implementar dicho método. Te ahorras el boilerplate de la implementación de un método que nunca será invocado.

    • @BettaTech
      @BettaTech  4 ปีที่แล้ว

      Totalmente! Se me pasó por alto :)

  • @pedrorrivero
    @pedrorrivero 4 ปีที่แล้ว +1

    Y cómo harías si quieres quitar decoradores a un objeto ya instanciado?

  • @-_Marcos_-
    @-_Marcos_- 6 หลายเดือนก่อน

    ¿Es posible comprobar si ya existe un decorador aplicado? ¿es posible ordenar el orden de las decoraciones aplicadas?

  • @FlightgearTutorials
    @FlightgearTutorials 4 ปีที่แล้ว

    En el ejemplo anterior que puse, se cumple exactamente la misma funcionalidad sin crear interfaces ni herencia y sin crear una clase para cada combinacion de capas. Al crear un enemigo base este recibe todo el daño de un ataque. Al añadir un objeto Helmet a la coleccion de decoradores del enemigo, el Helmet disminuye 10 puntos del ataque recibido, lo mismo con un enemigo que al añadir un objeto Armour a su coleccion que en el ejemplo que puse disminuye 25 puntos. Y por supuesto la coleccion puede tener añadidas tanto un objeto Helmet como un objeto Armour. Que el enemigo que tenga una configuracion tendria una resistencia de 35 puntos (10 + 25).

  • @sergiodavidpaezsuarez559
    @sergiodavidpaezsuarez559 4 ปีที่แล้ว +1

    ¿Qué tema usas en vs code?

  • @romeobetances7964
    @romeobetances7964 4 ปีที่แล้ว

    BettaTerch, haga un video sobre este patrón pero con Unity y C#.

  • @ruben3137
    @ruben3137 4 ปีที่แล้ว

    No sabia que Caradechiste haga videos de programación v:

  • @erickhilario6217
    @erickhilario6217 4 ปีที่แล้ว +1

    Qué libro recomiendas para aprender patrones de diseño ?

  • @LuisGarcia-cm9hz
    @LuisGarcia-cm9hz 2 ปีที่แล้ว

    a mi me sale como si no existiera mi variable protected enemy en HelmetDecorator es como q no entendiera q extendi desde EnemyDecorator.. Es algo de mi editor VS o es algun plugin q me podria estar faltando? como tienes configurado tu VS para trabajar con TS? que me recomiendas?

  • @elkatedratico
    @elkatedratico 4 ปีที่แล้ว

    Ahora si entendí!!! ☺

  • @bashell01
    @bashell01 4 ปีที่แล้ว

    genial, muchas gracias

  • @Mecolo
    @Mecolo 4 ปีที่แล้ว

    Que theme usas para vs code, esta chevere !

  • @DanielAlvarez-rq5vu
    @DanielAlvarez-rq5vu 3 ปีที่แล้ว

    Que tema es el que tienes en el visual studio code.?

  • @klapx8499
    @klapx8499 4 ปีที่แล้ว

    Muchas gracias!!

    • @BettaTech
      @BettaTech  4 ปีที่แล้ว

      Gracias por comentar!!!!

  • @hugomauleongonzalez7940
    @hugomauleongonzalez7940 4 ปีที่แล้ว

    Gracias.

  • @anthonysuarez9895
    @anthonysuarez9895 4 ปีที่แล้ว

    Tienes algun video explicando MVC?

  • @johncerpa3782
    @johncerpa3782 4 ปีที่แล้ว

    Buen video

  • @EzequielRegaldo
    @EzequielRegaldo 4 ปีที่แล้ว

    Gracias por el aporte ! una lástima lo de ts y deno D: (odio mucho, mucho, demasiado TS) pero lo más importante es el concepto y la sabiduría de la implementación lo cual hace que reste total importancia. Nuevamente gracias por todo

    • @TheMemin247
      @TheMemin247 4 ปีที่แล้ว

      Odiar lenguajes es de simps

  • @maikelrodriguez1142
    @maikelrodriguez1142 ปีที่แล้ว

    estoy estudiandome el libro Head First Design Patterns de Eric Freeman
    Elisabeth Freeman , vi este video pero noto que no haces en python con visual code ninguno de los otros patrones EN CODIGO, se agradecería .

  • @JesusGil90
    @JesusGil90 4 ปีที่แล้ว +1

    y para quitarle el casco?

  • @Neunapp
    @Neunapp 4 ปีที่แล้ว

    Este patrón se entiende aun mucho mas en Python.

  • @devlegacymx
    @devlegacymx 4 ปีที่แล้ว

    Excelente explicación y ejemplo, como diría Shrek, los decoradores son como las cebollas, tienen capas

  • @diegomasis9665
    @diegomasis9665 ปีที่แล้ว

    Diay si...... no hay una explosión de clases de enemigos pero hay una explosión de clases decoradoras 🤣🤣🤣

  • @JosanL
    @JosanL 4 ปีที่แล้ว

    Es un poco rebuscado, sobre todo al entender el resultado al montarlo todo por lo que dices de las capas de una cebolla (parecido a recursividad), no está mal el patrón.
    Pero tengo una duda, como cada clase decorada tiene dentro una clase "base", al tener varias capas, ¿no se instanciarían muchas clases intermedias que pudieran ocasionar problemas de memoria? Por ejemplo 10 capas serían 10 o 11 objetos en memoria para un solo enemigo... supongo que apenas se notaría, ni siquiera a escala, más allá del propio cálculo. ¿Qué dice la ciencia?

  • @elvis_gastelum
    @elvis_gastelum 4 ปีที่แล้ว

    Un poco fuera del tema... me encanta el hecho de que ahora se deje mucho más fácil empezar a trabajar con ts directamente en deno, no creo que sea el killer pero si la alternativa que le hacia falta a node

  • @sergi2204
    @sergi2204 4 ปีที่แล้ว

    No entiendo muy bien la funcionalidad. Tú en tiempo de compilación dices que compute el daño el enemigo con armadura y casco no? ¿Pero y para hacerlo en tiempo de ejecución?
    Siguiendo el mismo ejemplo, a la hora de que un enemigo haga daño al jugador, no vas a saber fijo si el jugador tiene armadura, casco o lo que sea. Como usas el patrón entonces?

  • @luisluisferreira22
    @luisluisferreira22 4 ปีที่แล้ว

    Buenos videos, pero se complican a mi parecer poniendo siempre como ejemplo juegos. Me parece más fácil poner ejemplos de ventas de una tienda o cosas más cotidianas y no tan rebuscadas...... a mi parecer.

  • @felipesaldias495
    @felipesaldias495 4 ปีที่แล้ว

    Y el composite para cuando? :-)

  • @adrisongomez6482
    @adrisongomez6482 3 ปีที่แล้ว

    Ahora que me doy cuenta, que es explicas tus emplos de codigo como BDD. Osea piensas y codificas como quiere que tu codigo actue y luego codificas para que eso que escribiste funcione...

    • @adrisongomez6482
      @adrisongomez6482 3 ปีที่แล้ว

      claro sin escribir test propiamente.

  • @ivanjijon8647
    @ivanjijon8647 4 ปีที่แล้ว

    El ejemplo quizás no es el más acertado. Nada me impide ponerme la armadura y el casco en el orden que me dé la gana.

    • @BettaTech
      @BettaTech  4 ปีที่แล้ว +2

      Totalmente de acuerdo en que el caso de uso quizá no es el mejor aplicable, pero lo escogí así para que se entendiera mejor el concepto de "puedo llevar cualquier combinacion de prendas a la vez" y de "se combinan los efectos de las prendas que llevo". Pensé que al explicarlo con "ropa" quedaría clara su intención y su construcción 😂

  • @rafaelpereiraarias
    @rafaelpereiraarias 4 ปีที่แล้ว

    Primer comentario

  • @chiptunesfreemusic5040
    @chiptunesfreemusic5040 4 ปีที่แล้ว

    Cómo se llama el estilo de tu visual studio? xdxd

    • @user-bf7im9co2u
      @user-bf7im9co2u 3 ปีที่แล้ว

      Pues o es Horizon o es Dracula.
      Yo uso github theme, es bastante amigable