Curso de Patrones de diseño - 8 Proxy

แชร์
ฝัง
  • เผยแพร่เมื่อ 18 ธ.ค. 2024

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

  • @jonnathangiraldomorales2033
    @jonnathangiraldomorales2033 3 ปีที่แล้ว +10

    Tome un curso en Udemy de "Patrones de diseño en Java" y dejame decirte que ese curso no te llega ni a los talones, eres muy bueno explicando, practicamente me guie de tus videos en todo el curso... Muy bueno, felicitaciones y te deseo lo mejor.

  • @elverandresarroyave8611
    @elverandresarroyave8611 5 หลายเดือนก่อน

    Que gran trabajo!!! saludos

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

    Qué diferecnia tiene con Fachada? y con Decorator?, No estarías implementando los dos juntos?

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

      Fachada oculta la implementación(lógica) y Decorator agrega funcionalidad extra al objeto sin necesidad de modificar este mismo(es decir no es necesario extender de otro objeto para agregarle alguna funcionalidad)

  • @pablorios6547
    @pablorios6547 5 ปีที่แล้ว +3

    ¿No seria lo mismo que realiza el patron Facade? Te agradeceria si me pudieras explicar la diferencia.

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

      Quizás el ejemplo no fue el más idóneo pero facade sirve para llamar a otra funcionalidad...es como un "puente o bypass" que sirve para desacople de código

    • @pablorios6547
      @pablorios6547 5 ปีที่แล้ว +1

      @@MitoCode Gracias! Me quedo mas claro. Aprovecho de felicitarte y agradecerte por este curso ya que es muy dificil encontrar informacion tan clara de los patrones en internet

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

      Me costo trabajo entender la diferencia entre Proxy y Fecade, pero hay va lo que yo entendí, (a ver si no estoy mal).... supongamos que ya tienes tu clase ´CuentaFachada´ tipo Fecade trabajando bien en productivo, y vas a liberar una nueva versión, ya lista y probada, el detalle esa en que es una liberación delicada y que es posible que tu nueva versión falle por el cambio de ambiente por lo que necesitas hacer un posible rollback de manera muy rápida, para eso, a tu clase Fecade a su vez le haces una clase Proxy llamada´CuentaProxy´ y esta llama a la ´CuentaFachada´ creas tu backup llamado ´CuentaFachadaBackup´ y así ya que liberes y vez que ha fallado la nueva versión puedes dejar todo como estaba cambiando una sola linea de código... ejemplo algo bobo, los respaldos también podría ser algo como: ´CuentaFachadaBanco1´ ´CuentaFachadaBanco2´ ´CuentaFachadaPCLocal´, ´CuentaFachadaPruebas´, ´CuentaFachadaDesarrollo´, mas ejemplos bobos, pero esa fue la idea que entendí

  • @kevinmikeherreravega871
    @kevinmikeherreravega871 6 ปีที่แล้ว +5

    ¿Cual es la diferencia con hacer un decorador para extender la funcionalidad de una clase?

    • @juang_
      @juang_ 6 ปีที่แล้ว +1

      Tengo la misma duda.

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

      Esta aplicando un singleton(instancia única) para no crear objetos de más, aparte oculta la funcionalidad verdadera del objeto pudiendo también agregar try/catch, loggers etc sin modificar su verdadera lógica. Saludos!

  • @Daniel-cn5pd
    @Daniel-cn5pd 6 ปีที่แล้ว +1

    ¿Que diferenciaría al Proxy de un Decorador?. De acuerdo a este ejemplo. Gracias.

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

      Proxy es más que todo para acceder a objetos y decorator para extender funcionalidades stackoverflow.com/questions/18618779/differences-between-proxy-and-decorator-pattern

    • @diego.coder26
      @diego.coder26 5 ปีที่แล้ว +5

      Proxy es básicamente sustituto o marcador de posición para otro objeto. Un proxy controla el acceso al objeto original, permitiéndole realizar algo antes o después de que la solicitud llegue al objeto original.
      Por ejemplo un objeto DB puede ser sustituido por otro objeto DB_Proxy pero esté tiene una funcionalidad de caché, sí en realidad es necesario llamar al objeto original DB el DB_proxy permite el paso, en caso contrario retorna el caché y no sobrecarga el objeto DB ( Ejemplo muy simple )

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

      @@MitoCode Son muy similares. Veamos si entendi. Proxy lo tengo que usar para fines de obtener informacion de mi programa/app, como un LOG, para saber por donde va mi programa y que esta haciendo.
      Ahora, si yo le agrego funcionalidad, osea que ademas de darme info antes o dsps de ejecutar el codigo de un metodo de la INSTANCIA de una clase X, le pido que agregue alguna funcion, eso ya se convertiria en un decorator... Si estoy en lo correcto, es muy sutil la diferencia y se presta para confucion. Slds y muy bueno el tuto. Lo estoy haciendo en paralelo con otro de patrones y este patron no esta en el otro curso. EXCELENTE CURSO.

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

    Pregunta, este patron proxy no es similar al patron facade, en la idea de un intermediario con el que el cliente interactua primero? Se me hicieron muy similares, es como que me cuesta ver porque existe el patron proxy si se puede alcanzar lo mismo con el facade

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

      El patron de diseño Facade busca reducir el acoplamiento entre clases. En lugar de tener tu clase acoplada a multiples funciones que hacen algo, mejor te unes a una facade que tiene ese acoplamiento.
      Lo que haces es ubicar todo ese acoplamiento en un unico punto y buscar también la reutilización

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

    Una consulta, para qué pasa la Cuenta por parámetro si después se crea una nueva Cuenta adentro de Proxy y se trabaja con ella?

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

    se puede decir que el concepto middleware es igual al patron proxy?

  • @Alx_609
    @Alx_609 6 ปีที่แล้ว +1

    Es posible implementar estos patrones de diseño en python en un enfoque POO?

    • @MitoCode
      @MitoCode  6 ปีที่แล้ว +1

      Así es

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

      También en PHP

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

    Buen tuto mi loco

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

    Cual seria la diferencia entre Proxy y Factory? porque me parece que ambos delegan

    • @angelg.chavez3489
      @angelg.chavez3489 2 ปีที่แล้ว

      quiero pensar que con factory hay mas de 1 objeto, y con Proxy siempre habrá solo 1 objeto, ya que al preguntar si ya existe el objeto, se lo entrega, en factory crea uno nuevo, pienso que proxy es como facotory combinado con singleton, pero es mi idea, o lo que entendí en el video.

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

    Hola! No me queda claro porque guardas la instancia de CuentaProxy dentro de ICuenta Proxy? Si no puedo instanciar interfaces...Gracias

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

      Es sintaxis o estándares de java, interfaz a la izquierda, implementación a la derecha
      Como
      List lista = new ArrayList()

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

      @@MitoCode y usaría los metodos implementados de la clase de la derecha? No se podría instanciar CuentaProxy directamente?

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

    Al realizar inyeccíon al proxy te falto corregir dentro del proxi porque no puede inicializar con CuentaBancoAImp.

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

    como se llama ese código en github ?

  • @sergehg6437
    @sergehg6437 6 ปีที่แล้ว +1

    Solo Le faltaria a tu codigo en la clase Proxy ,dentro de los metodos que implementa que si la cuenta real es nula a cual clase de implementacion habria que hacer referencia . Segun deberia de ser a la que se le pasa por parametro en el constructor. Pero creo que ya se complica . Seria mejor

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

      se podría hacer que el método retorne null, así obligando al cliente a especificar el banco

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

    La clase proxy para robar un centavo por transacción jajaj

  • @michellieyzaguirre2513
    @michellieyzaguirre2513 5 ปีที่แล้ว

    Qué tipo de proxy es?!!!

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

    Hola. Una consulta. 1) al agregarle a la clase proxy la posibilidad de loguear las operaciones, no seria un decorator, ya que le estas agregando funcionalidades?. 2) En la clase proxy le diste la posibilidad de pasarle un objeto de tipo: new CuentaBancoBImpl(), pero dentro de los metodos del proxy estas instanciando new CuentaBancoAImpl(). No hay un error aqui?

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

      En cuanto a tú pregunta 2 en realidad en la clase CuentaProxy nunca se cumpliría la condición "cuentaReal == null", debido a que al agregar el constructor y pasarle como parámetro la implementación, el atributo "cuentaReal" siempre será diferente de nulo.

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

    Pero este patron es muy parecido al facade

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

    El Proxy es un papá o un representante de algo... gg así lo entiendo yo...

  • @sergehg6437
    @sergehg6437 6 ปีที่แล้ว

    Es como el patron de diseño injeccion de dependencias?

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

      Cuando se agregó lo de las Interfaces, indirectamente se aplicó eso

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

    Esto parece mas a los filters , incluso los anteriores patrones se parecen

  • @secundariab.2741
    @secundariab.2741 2 ปีที่แล้ว

    veo mucha similutd con bridge

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

    if(!cuentaReal){
    cuentaReal = new CuentaBancoAImpl();
    }
    return cuentaReal.retirarDinero(cuenta, monto);
    ;)