Learn to use the Factory-Method pattern and respect the Open-Closed principle 💻Build a POS

Поделиться
HTML-код
  • Опубликовано: 19 окт 2024

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

  • @DotTechES
    @DotTechES  Год назад +2

    🌟 ¡Nos encantaría saber tu opinión! 🌟
    Tus ideas son valiosas: ¿Qué temas o contenidos te gustaría que exploráramos? ¡Comparte tus sugerencias!
    Tu voz cuenta: ¿Qué te ha parecido este vídeo? Déjanos tu opinión y conversemos.
    🚀 Sigue aprendiendo con nosotros: 🚀
    Explora nuestras series especializadas para profundizar en tus temas favoritos:
    🖥 JavaScript Bites: Descubre trucos y consejos prácticos ruclips.net/video/eemazs4qfac/видео.html
    🔍 Angular Bites: Aprende Angular desde cero hasta avanzado ruclips.net/video/ibTe8VR7hMk/видео.html
    💡 Ingeniería del Software: Mejora tus habilidades en ingeniería de software ruclips.net/video/d1EVlXoWKbw/видео.html
    🧩 Patrones de Diseño: Domina los patrones de diseño con ejemplos prácticos ruclips.net/video/eemazs4qfac/видео.html
    🔔 Suscríbete y activa la campanita para no perderte ningún contenido nuevo. ¡Tu apoyo es esencial para nosotros!

  • @lucaschambe
    @lucaschambe Год назад +6

    Gracias por el vídeo Carlos!

    • @DotTechES
      @DotTechES  Год назад +3

      Gracias a ti por comentar! Nos seguimos viendo en más vídeos, esperando que sean útiles a la comunidad 💪💪

  • @MesiahS_JR
    @MesiahS_JR Год назад +2

    Gran vídeo! Gracias por vuestro contenido! Siempre de 10!

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

      Gracias! Nos vemos en el próximo 💪💪

  • @carmenfernandez8266
    @carmenfernandez8266 Год назад +2

    Que buen video. Me lo apunto😊..Esperando el siguiente..

    • @DotTechES
      @DotTechES  Год назад +1

      Gracias Carmen! Pues el siguiente será un poco más práctico y, posteriormente continuaremos con los patrones creacionales 💪

  • @drojom
    @drojom Год назад +3

    Genial como siempre. Muchas gracias por compartir🤩

    • @DotTechES
      @DotTechES  Год назад +1

      Muchas Gracias @drojom por estar ahí, esperamos seguir creando más contenido para compartirlo con todos!

  • @FranciscoGonzalez-fv6hp
    @FranciscoGonzalez-fv6hp Год назад +2

    Gran video y gran aporte 💪 esperando ya el siguiente vídeo!

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

      Gracias por el comentario, ya estamos trabajando en el siguiente video! 💪

  • @elvinantoniomendoza9631
    @elvinantoniomendoza9631 7 месяцев назад +1

    Buen día, tremendo video y explicación, gracias por este tipo de contenido. Tengo una duda en la parte del CLIENTE, el cual en cualquier momento tendría que afectarse si se agregase un nuevo producto, rompiendo el principio OPEN-CLOUSE, sé que con la estructura de FONDO queda perfecto todo, pero en esta parte del cliente que se haga ya sea desde Consola o Grafica se tendría que tener una sentencia SWITCH para crear la instancia CONCRETA del producto, podría alguien ILUMINARME en esta parte?, muchas gracias.

    • @DotTechES
      @DotTechES  7 месяцев назад +1

      En esta parte tienes que tener una acción que dispare la creación. Podría ser totalmente declarativo, por ejemplo en una interfaz gráfica tendrías botones que seleccionan en concreto que necesitas y podrías inferir la selección de creación. Si procediera de otro sistema, se debería pensar el problema concreto y se podría inferir la decisión a través de una estrategia concreta seleccionada por otro sistema.

  • @leow375
    @leow375 Год назад +2

    La verdad no me quedo claro que creator elegir, entiendo que en el ejemplo que das decis con una terminal o una aplicacion grafica y me hace mucho sentido, pero en el caso que levantes los datos desde una BD no se me ocurre otra opcion que aplicar un simple factory aunque eso me lleve a romper el principio de OCP

    • @DotTechES
      @DotTechES  Год назад +4

      Hola @leow375 gracias por comentar,
      Creo que el problema no está en el patrón factory-method, sino en el switch de selección de la operación a realizar, el desconocimiento de la operación a priori nos hace tener un switch o una serie de if-else para determinar qué Creator concreto usar, y ahí es donde rompemos el OCP. No obstante, tenemos algunas maneras de evitar atarnos al switch (habría que tener código y problema concreto y ver todo el conjunto de la aplicación) pero podríamos intentar aplicar algunas de estas técnicas:
      1. Crear un mapa/diccionario de Creators. De esta manera tendríamos un mapa donde la clave podría ser un tipo de registro (por ejemplo userType) y el valor es una instancia del Creator concreto correspondiente.
      2. Puedes usar reflexión/introspección para instanciar el Creator correcto (creo que esto sería lo más fácil a priori para solucionar el problema).
      No obstante, si este mismo problema que planteas te aparece en otros patrones o circunstancias no es un problema de usar ese patrón concreto, sino de una etapa previa de "interacción con el usuario del sistema" que en este caso sería la base de datos.
      Un saludo y muchas gracias !