STRATEGY | PATRONES de DISEÑO

แชร์
ฝัง
  • เผยแพร่เมื่อ 3 เม.ย. 2020
  • ⭐ Kite es un asistente de código gratuito que se integra con prácticamente todos los editores y utiliza IA para el autocompletado. ¿Qué puede haber más pro que eso?
    ► www.kite.com/get-kite/?...
    En éste vídeo vamos a ver un patrón de comportamiento, el patrón STRATEGY! Lo veremos con ejemplos de videojuegos y otras cosas. Es uno de los patrones más flexibles que usa de forma extensiva el polimorfismo.
    Índice de la serie:
    • Las PIEZAS FUNDAMENTAL...
    EMAIL PARA COMPARTIR PROYECTOS A REVISAR EN DIRECTO! 💥
    bettatechyt@gmail.com
    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
    CANAL DE SLACK AQUI! 👇🏻👇🏻👇🏻👇🏻
    bit.ly/33gaDDM
    ---MI EQUIPO
    RATÓN LOGITECH MX MASTER 2S: amzn.to/2QkdxGa
    CAMARA: amzn.to/34WytGi
    MICROFONO: amzn.to/32Q3fPt
    DISCO DURO EXTERNO SEAGATE: amzn.to/31ElQh9
    ONE PLUS 6: amzn.to/32U4Wvk
  • วิทยาศาสตร์และเทคโนโลยี

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

  • @slynkbass
    @slynkbass ปีที่แล้ว +16

    Hola Martín!
    Estaría bien retomar este curso de Patrones de diseño y terminar de añadir algunos patrones como son: Builder, Prototype, Mediator, Facade, etc...
    Un saludo, y gracias! ^^

  • @kraller7
    @kraller7 4 ปีที่แล้ว +52

    se complementa genial con el abstract factory para instanciar las diferentes estrategias

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

      Exactamente!!! :D

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

      @@BettaTech No puedo ver bien como se implementarían el patrón Strategy y el Abstract Factory juntos, si estuviéramos buscando como "combinar" efectos de ataques se me viene a la cabeza el patrón decorator. ¿Alguno podría explicar como funcionarían Strategy y Abstract Factory juntos?

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

      @@TheTheokatz con la factoria abstracta montas las clases necesarias para poder crear las estrategias. Es decir, creas las propias estrategias usando una factory en vez de instanciarlas directamente

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

      @@BettaTech Gracias por responder tan rápido.
      ¿Creando las estrategias con una Factory como nos ayudaría a combinar ataques? Cómo por ejemplo un ataque que baje la velocidad + un ataque que envenene. No entiendo esa parte.
      ¿O no se supone que la combinación de patrones nos ayude a hacer eso? ¿Sino que solo es para tener un mejor y más limpio código?
      Un saludo!

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

      @@TheTheokatz Con la factory creas estrategias. Puedes también combinar las estrategias con el patron decorator para hacer lo que dices! Las lógica de crear ataques decorados podria vivir en el factory y ya tienes ahi una triada espectacular 😄

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

    Muchas gracias por el video. Espero que sigas subiendo el resto de patrones.

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

    Genial! Espero el siguiente vídeo con ansías.

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

    Excelente explicación, siempre es bueno dar ejemplos reales de aplicación

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

    Muchas gracias por subir este tipo de contenido. No he encontrado ningún vídeo en español que tenga tanta calidad y con una explicación tan concisa y clara como esta. Espero que el canal siga creciendo.

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

      Mil gracias!!!!!

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

    Una felicitacion por que son de los mejores videos donde explican patrones de diseño en español, una recomendacion, hacer la implementacion en codigo y correrla para que se entienda la funcionalidad del patron de forma visual

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

    Gracias!, tremendo!, espero los próximos vídeos 🧠

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

    Muchas gracias, se agradece inmensamente, por favor, más explicaciones y más ejemplos para pratones de diseño para videojuegos sería estupendo!

  • @johnnyblack612
    @johnnyblack612 4 ปีที่แล้ว +11

    Joder tío eres un crack, no logro comprender como entiendo algo tan complicado tan fácilmente, deberías dar cursos joder, pagaría lo que sea porque seas mi maestro

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

    Estaría muy bueno que hagas un video sobre la combinación de ambos patrones, strategy y factory, utilizados en un ejemplo sencillo.

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

    Me ayudó en entender el patrón para mí estudió, muchas gracias y sigue subiendo más

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

    Un patron que puede utilizarse es el State, y segun el estado en que se encuentre el pokemos cambie su comportamiento (State es un patron de comportamiento) ya sea que este noqueado, o durmiendo, etc. o tal vez enfurecido y esto haga que sus ataques sean mas potentes, por ejemplo. Saludos desde Argentina!

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

    Gracias por compartir tu conocimiento 👍

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

    Excelente contenido, muy buen y clara tu explicación, muchas gracias!

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

    Muy buena explicación! Muchas gracias! Saludos desde Argentina!

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

    hermoso video muy bien explicado

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

    Este patrón es como hacer poliformismo básico. Estaría muy bueno combinarlo con el patrón abstract Factory

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

    crack de cracks. Espero con ansias los siguientes patrones!

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

    Excelente video, estuvo muy bien explicado :D

  • @kevte4603
    @kevte4603 4 ปีที่แล้ว +119

    Despues de enseñar todos los patrones de diseño, te animarias a hacer un juego utilizandolos?

    • @KronenR
      @KronenR ปีที่แล้ว +9

      se ve que no

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

      @@KronenR En efecto xd

    • @lucianoandres3716
      @lucianoandres3716 7 หลายเดือนก่อน

      pues claro que no :V

    • @godmode3611
      @godmode3611 3 หลายเดือนก่อน

      Un juego es grande je je

  • @JonathanAndres
    @JonathanAndres 4 ปีที่แล้ว +15

    Muchas gracias por este contenido, personalmente me encanta. Podrías alguna vez hablar sobre inyección de dependencias y un contenedor de inversión de control?.
    Un saludo!

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

      A mi también me gustaria ver como se implenta un IOC

  • @josoza248
    @josoza248 4 ปีที่แล้ว +53

    y no vale el uso de Switch, que nos conocemos :), jaja justo asi.

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

      quisiera entender cual es el problema con el uso del switch .. me dedico a la programación en sistemas embebidos, y lo usamos muy frecuentemente.. pero ya he escuchado varias veces cosas negativas del uso del switch, sin entender cual es el problema.

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

    No se como puedes explicar todo tan bien, en serio me encantan tus videos. Podrias hacer un peqeuño videojuego implementando este patron estaría muy guay

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

    Excelente explicación.

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

    Sería genial que hablaras del patrón Command, me voló la cabeza cuando lo escuché por primera vez!

    • @JoseRodriguez-yh8oy
      @JoseRodriguez-yh8oy 2 ปีที่แล้ว

      yo al leer este patron command y el strategy me enrede.

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

    muy interesante, creo que necesitare ver otra ves el video para interiorisar los comceptos

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

    Gracias por este video. Parece que este patrón es justo lo que necesitaba para diseñar mi sistema de crafteo de magia similar a Mages of Mystralia.

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

    Que genial video, tengo varios anios programando pero es muy util, respondiendo a tu pregunta pienso que seria Decorator

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

    Excelente video gracias, ahora Pokémon me recordará fácilmente este patrón

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

    Lo estaba aplicando sin saberlo pero gracias a esto lo implementare mejor, gracias

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

    Excelente! saludos desde colombia

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

    Pucha man, eres muy bueno explicando, mil gracias! .-.

  • @666zulett
    @666zulett 4 ปีที่แล้ว

    me encanto este patron va tiempo que me quiero leer el desing patterns pero me daba una pereza terrible uno por que esta en ingles y otro por que son como 300 paginas jejeje pero tu explicacion creo que me basta al menos hasta que encuentre fuerzas para leerme el libro, un gran video sigue asi

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

    Excelente!!!!

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

    Muchas gracias por tu vídeo, la verdad es que son muy buenos. No sé si soy el único, pero el patrón strategy me recuerda mucho a la inyección de dependencias.

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

      Se utiliza de hecho la inyección de dependencias, ya sea por constructor o en la misma funcion :D

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

    Eres muy bueno explicando, seria genial que hagas un video acerca de CQRS + Event sourcing que es tendencia ultimamente.. un saludo!

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

    Excelente video

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

    Excelente Bideo Betta, para cuando mas, justo ando con eso en la facu y me ha ayudadi un monton, saludos!

  • @ivanmoreno6823
    @ivanmoreno6823 3 ปีที่แล้ว +6

    Creo que este patrón combinaría muy bien con el patrón decorator.

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

      Yo creo que no, porque el patrón Decorator implica la aplicación simultanea de muchas clases (anidadas), mientras que en este patrón se selecciona (de forma excluyente) una u otra estrategia (pero no ambas al mismo tiempo).
      Saludos!

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

      @@FedericoAlemany Hola! Hace 8 meses que escribí ese comentario así que me has pillado por sorpresa jajaja. Yo me refería a que se podría inyectar una estrategia que fuera un decorator, a la clase a la cual se le inyecta no le importa que decorator es porque todos comparten la misma interfaz. Quizás no es la mejor forma de usarlo, como el patrón decorator es estructural y el estrategia de comportamiento no me había parado a compararlos, pero tu reflexión me ha parecido interesante.
      Saludos!

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

    Brillante!!

  • @josejimenez-wd5rw
    @josejimenez-wd5rw 4 ปีที่แล้ว

    excelente !

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

    la concha de la lora pelado, me vuelvo loco. que buen canal, dios mio. te conocí por resolver el ejercicio de entrevista laboral y gracias a ese me doy cuenta que subís contenido espectacular. Te ganaste un fiel seguidor viejo, abrazo fuerte desde argentina! 🇦🇷

  • @jorgesanclemente4067
    @jorgesanclemente4067 2 ปีที่แล้ว +8

    Estoy estudiando la asignatura de Ingeniería del Software, en tercero de Ingeniería Informática y vienen genial estos videos. Gran trabajo crack!

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

      Mil gracias! Y mucha suerte 😃

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

    Viendo este video me ha hecho pensar que los route guards de angular parecen un ejemplo del patrón strategy o al menos eso me ha parecido a priori.

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

    Te ganaste un suscriptor.

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

    Buen video!

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

    ME ENCANTO. Ahora no hay excusas, encierro + codigo...Cuidate mucho.

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

    ojala todos los profesores explicaran así buenísimo con juegos es mucho mejor y mas entendible

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

    Excelente

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

    Gran vídeo, hay que fomentar este tipo de contenido. Pero creo que el ejemplo del Logger no es un Patrón Strategy es un ejemplo de Inversión de dependencias.

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

    Es el principio de inversión de dependencias en toda regla!

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

    El patrón que te va a dejar combinar diferentes tipos de estrategias es el composite!! Se acopla muy bien al strategy 😉
    Saludos desde Argentina!

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

      Exacto! Composite es MUY interesante

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

      @@BettaTech muy bueno el video, olvidé felicitarte por tu simplificidad a la hora de explicar!

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

    Muy interesante, me acabo de enterar que utilizo el patrón Strategy muchas veces. Realmente si aplicas el segundo principio solid y el quinto, estarías aplicando este patrón, no?

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

    Este anime me encanta.

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

    Esto es inversion de dependencias para un comportamiento ? , genial el video

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

    Cásate conmigo. Explicas muy bien.

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

    Y al final de este video amigos oficialmente son capaces de crear un intérprete o un entorno de ejecución de un lenguaje de programación

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

    La estructura me recuerda al patrón Observer.

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

    Patron command seria bueno que lo explicaras

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

    Podríamos utilizar el patrón command para ejecutar múltiples funciones de ataque?

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

    Tus videos son geniales, pero tengo una pregunta, por lo que he visto hasta ahora, todos los patrones de los que has hablado llevan consigo cosas muy especificas de la POO (Encapsulamiento, Polimorfismo, Herencia), sin embargo habra algun patron que ayude en un lenguaje que no tiene todas la caracteristicas de la POO como Golang, apenas lo aprendo pero me gustaria aplicar una buena estructura y codigo limpio desde el inicio, gracias...

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

    Tengo una pregunta aprovechando que eres ingeniero y has hecho bastante programación.
    ¿Para software de proposito general, ves que tenga sentido estudiar lenguaje de bajo nivel?
    El año que viene en la universidad tengo Administración de Sistemas Operativos y no le veo el sentido para lo que quiero aprender yo.
    Hay otra rama a la que me puedo cambiar, y que no hay lenguaje de bajo nivel, ni profundizan en el protocolo EIGRP (tampoco sé para que me puede servir eso a mi).
    ¿Qué me recomendarías?

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

    Muy interesante, seria genial que hablaras de la arquitectura y patrones que usan los frameworks más famoso, en el caso de node express en el caso de php laravel y symfony, esto con el fin de entender de forma más profunda como funcian estos frameworks y de esta manera que nosotros no tengamos que adaptar el sistema al framework más bien que el framework se adapete al sistema

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

    Hola @BettaTech quisiera entender como entonces haces la diferencia de pasar la propiedad path en el constructor luego de hacer la injeccion de dependencia de la interfaz Logger. Esa parte no me queda claro.

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

    Strategy + Decorator

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

    4:14 Creo que se podría hacer con el decorator pattern.

  • @sgssergio
    @sgssergio 10 หลายเดือนก่อน

    Colo se hace el cambio de estrategia en tiempo ee ejecucion sin usar ifs?

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

    Hace un video hablando de como estudiar programacion sin ir a una universidad pero quiero aprender un lenguaje a fondo de forma autodidacta

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

    Que tal seria una combinación del strategy con el builder?

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

    Hola,una consulta que utilizas para representar graficamente el codigo que nos muestras?,o es algun editor ? sldos

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

    Con que otros patrones se podría combinar este aparte del factorymethod factory?

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

    Muy buen video, para ti cuales serian los patrones de diseño mas importante que tiene que saber un dev junior java y angular?

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

      Factory puede ser uno muy útil! Para angular, los Observer son el dia a dia

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

    Que libro de patrones de diseño recomiendas

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

    Cuando la estrategia se decide en tiempo de ejecucion seguimos considerandolo patron strategy? El ejemplo seria un convertidor de formatos de texto al cual le pasamos un parametro (json, yml, csv...) y el ya decide dinamicamente que estrategia ejecutar (normalmente usando un metodo "supports(...)" de las estrategias concretas)

    • @rainbow-jw3og
      @rainbow-jw3og 2 ปีที่แล้ว

      al final que solucion usaste? tengo la misma duda

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

    Se puede integrar Decorator, Singlenton, factory y mas

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

    Los ejemplos de interfaces stán en JS?

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

    Con el patrón puente no se podría combinar para reducir el número de combinaciones de ataques con efectos?

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

      Si! Seria una opcion 😊

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

    Hola, viendo lo que explicas en otro video se parece mucho al patrón factory method. Cuál es la diferencia entre estos dos? O como puedo saber cuando usar uno u otro?

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

      El patrón Factory lo que hace es CREAR. Es decir, los dos usan polimorfismo, pero uno busca devolver objetos (factory) y otro gestionar comportamiento (strategy).

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

    Puede que sea igual al patrón Factory?

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

    Que diferencia existe entre el Strategy pattern y el Bridge pattern?
    Pd. Muy buenos tutoriales, sigue sacando videos de patrones de diseño

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

      Un año tarde, pero por si alguien más lo lee:
      El patrón strategy te permite cambiar el "que" para caso que necesites, como se ve en el video.
      Bridge por otra parte tiene como objetivo separar entidades relacionados en 2, por ejemplo y siguiendo con pokemon. Si tienes una clase "pokemon" y les quieres dar tipos, podrías terminar con una explosión de clases al generar las combinaciones, entonces creamos un clase "type" que es independiente de la clase "pokemon" pero que está última puede implementarla, así "type" puede crecer, modificarse o agregar tipos, independiente del pokemon. En este caso no estamos intentando implementar el "que" hace cada tipo, como si ocurre en el ejemplo de los ataques, donde se usa el strategy

  • @terse4539
    @terse4539 4 หลายเดือนก่อน

    Y para saber que estrategia usar... otro montañas de if?

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

    Tengo una duda, a mi parecer detrás de este siempre hay un Factory o me equivoco? Saludos desde Colombia excelente contenido .

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

      Se puede, y de hecho es muy utilizado! :D

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

    Hola Betta, estoy realizando un programa "tipo paint" solo con figuras primitivas. Que diseño de patrón crees que se ajusta?

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

      Si vas hacer modificaciones de las figuras y quieres evitar tocar la estructura original de ellas, podrías usar el patrón: "Prototype", así puedes por ejemplo tener varios rectángulos con diferentes colores y tamaño en el tablero sin modificar el original.

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

      @@sebastianvargasarenas124 Gracias! estaba pensando en otro patrón pero éste se ajusta perfectamente.

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

    ¿No se complementa con el patrón Decorator? El ejemplo de los distintos ataques de los Pokemon me parece que también se puede usar en conjunto con el patrón Decorator. ¿Esto es así? ¿Un ejemplo para bajarlo a tierra? Es que no lo tengo muy claro...

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

    Si utilizas una estrategia para registrar en un Log estás violando el principio de responsabilidad única y corres el peligro de que los métodos de tu clase queden guarreados y con ruido del log en medio de su logica propia.
    Para un Log sería mejor utilizar un patrón decorator para que mediante la inyección de dependencias puedas aislar completamente el log del resto de la logica de la aplicación. Así es como lo comenta Mark Seaman en "Dependency Injection in .NET" , una lectura bastante recomendable.
    La mejor opción sería combinar el patrón decorator con strategy de forma que si tienes tu clase principal con el método makeSomething. Un Interfaz IPokemonBattleManager con la interfaz, una clase PokemonBattleManager y otra clase PokemonBattleManagerLog que implimentan dicho interfaz.
    En el constructor de PokemonBattleManagerLog pasarias como parametro IPokemonBattleManager y otro LogStrategy, de forma que en cada método que interese loguear, ejecutarias un método de la clase LogStrategy y el método de la clase IPokemonBattleManager.
    Si todas las clases que implementan IPokemonBattleManager tienen en su contructor un parametro de la misma interfaz se pueden ir apliando para ampliar funcionalidad. Por ejemplo, gestión de errores, control de accesos, etc.

  • @Richard-xh5iw
    @Richard-xh5iw 4 ปีที่แล้ว

    como puedo conectarme a otra PC con la internet. Usando direccione IP pero que sea capas de funcionar en cualquier tipo de sistema operativo Quiero crear una programita de consola simple que pueda enviarse mensaje solo texto a otra pc conectada a la Internet, sin importar Que sistema operativo use. E intentado hacer un programa con socket con windows winsock pero no funciona de ninguna forma me sale demaciados errores tambien probe con TELNET pero tampoco me dejava ver la ip de mi otra pc

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

    Genial no das cursos de programación implementado todo esto tipo de patrones en udemy

  • @danielclow
    @danielclow 10 หลายเดือนก่อน

    5:30 En ese ejemplo que va a ejecutar el app? el ConsoleLogger o el FileLogger?

    • @erikomarmontescastro100
      @erikomarmontescastro100 4 หลายเดือนก่อน

      la app ejecutara la clase concreta (que hereda de Logger) que el programador le pase en el metodo Run(), el metodo Run() recibe cualquier tipo de instancia que herede de la clase base Logger, entonces, el programadore puede pasarle la clase concreta que él desee

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

    como cuando no te das cuenta que ya estabas implementando este patron...... de alguna forma se parece a factory, no?
    Creo que es mi problema con los patrones de diseño. porque cuando preguntan por definiciones en entrevistas, algunos patrones son tan similares que me cuesta explicarlos. Seguire viendo esta serie de videos. Saludos.

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

    Lo mas confuso por llamarlo de alguna manera es la convencion usada para nombrar a las clases e interfaces actores del patron, por lo demas es bastante facil

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

    Pero no tengo claro como evitas utilizar el "IF", en algún momento tienes que indicar la estrategia a utilizar en cada caso, y esto, se haría con un IF, no?

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

    Y que pasaría si cada estrategia necesita de datos de entrada diferentes?

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

    Buen video! Cual es la diferencia entre strategy y factory?

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

      Factory es un patrón creador: te devuelve objetos que luego puedes usar. Strategy es un patrón de comportamiento, ejecuta lógica (siendo puristas, esta lógica no crea, porque la intencionalidad de ambos patrones es distinta).
      Si podrias tener, por ejemplo, una factory que te devuelve diferentes tipos de estrategias que luego usas

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

    Este patrón también es compatible con Decorator

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

    Buenísimo el vídeo, pero un dolor ese espanglish en el código

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

    Me puedes decir cuál es el mejor idioma de programación y el más fácil de aprender es que soy un principiante

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

      C++

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

      Eso que dices no tiene mucho sentido a mi modo de ver, pero te recomiendo Java. Un saludo.

    • @GustavoGarcia-ik2uh
      @GustavoGarcia-ik2uh 4 ปีที่แล้ว +1

      PYTHON

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

      Depende mucho a qué te quieras dedicar. Por ejemplo si vas por web no es tan necesario que te líes con lenguajes como C++ o Java. Pero si empiezas con esos vas a tener una gran ventaja por conceptos y una visión más amplia. Por otro lado JavaScript o Python como primer lenguaje está correcto.

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

      Cómo todo en desarrollo, depende. Depende de lo que quieras hacer. Si quieres, escríbeme, y te hablo desde mi experiencia. No estudié programación en la universidad y hace 3 años hice un cambio de carrera y ahora trabajo como desarrollador web

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

    Patrón decorator?

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

    Hay algo que no entiendo. En el ejemplo del Logger, cómo sabe el contexto cual implementación se usará?

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

      Se la inyectan como dependencia. La gracia es que el contexto no lo sabe (ni deberia saberlo)

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

      @@BettaTech justo estaba buscando esta respuesta, tenia la misma duda que Carlos, entonces depende de lo que importes.

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

      @@BettaTech gracias por la respuesta pero tampoco entiendo eso, ya que en el 5:31 la clase APP (contexto) esta llamando a la clase logger "run(logger: Logger): void" o es que es ahí donde debería ser algo como "run(logger: FileLogger): void" ??

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

    No debo haber entendido bien, porque me da la sensación de que es igual que el abstract factory