Miguel,

La forma más fácil de implementar un proxy es que la clase proxy implemente
el mensaje doesNotUndestood como unico mensaje, en verdad, un proxy es un
objeto que tiene basicamente
dos características, 1) que no tenga protocolo que no entienda ningún
mensaje, 2) que tenga una manera de hacerle llegar los mensajes al objeto
proxiado.
Para cumplir con la primera premisa, Pharo, tiene ProtoObject , un  root de
classes que no cuelga de Object, porque de alguna manera Object sabe muchas
cosas, y un proxy no debería,
Dado que en Smalltalk los Proxys son objects, esto nos lleva a la segunda
premisa,hacerle llegar el mensaje o delegar en el objeto proxiado,alli la
estrategia cambia, o podria ser mas compleja la relación entre el proxy y
su objecto proxiado.
Aqui la forma mas sencilla es que Proxy tenga el mensaje doesNotUnderstood:
aMessage, está
estrategia, está basada en algo llamado method lookup, que es como
Smalltalk resuelve un mensaje,
Un objeto recibe un mensaje, se fija si en su clase lo puede contestar (si
lo tiene implementado) sino delega a su super clase y sin no lo puede
responder llegará a subiendo por la jerarquia a Object, object genera una
excepcion y  le envia al receptor original del mensaje doesNotUnderstood:
aMessage.
Entonces si implementas este mensaje podras enviarle cualquie mensaje a
dicho objeto , en el colaborador aMessage   están todos los objetos
necesarios para resolver el mensaje (receptor colaboradores enviados como
"parametros"  etc).
Resumiendo el proxy es un objeto que proxea a otro. por ejemplo
podrias tener
proxy := Proxy for: onObjectToProxy.
ahora esto indica que el objeto a proxiar queda contenido en el proxy, de
manera que el objeto proxy es el receptor de cualquier futuro mensaje. que
puede ser cualquiera, entonces poniendole el mensaje
doesNotUnderstood interceptas el mensaje y como resuelvas luego es cuestion
de tu dominio.
Espero haberte sido útil ,cualquier otra cosa, pregunta.

saludos
Juan Diaz Cortez

On Sun, Jun 14, 2020 at 1:42 PM miguel agustin cardamone <
[email protected]> wrote:

> Hola
>
> Necesito ayuda un codigo de ejemplo de patron proxy para smalltalk pharo
>
> Gracias
>
> Miguel
>
> ============================================================
>
> Hello
>
> I need help a sample pattern proxy code for smalltalk pharo
>
> Thank you
>
> Miguel
>
> --
> --
> To post to this group, send email to [email protected]
> To unsubscribe from this group, send email to
> [email protected]
>
> http://www.clubSmalltalk.org
> ---
> Has recibido este mensaje porque estás suscrito al grupo "ClubSmalltalk"
> de Grupos de Google.
> Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes,
> envía un correo electrónico a [email protected].
> Para ver esta conversación en el sitio web, visita
> https://groups.google.com/d/msgid/clubsmalltalk/cea3fa0c-2873-4320-9e4c-ed6f98bd5260o%40googlegroups.com
> <https://groups.google.com/d/msgid/clubsmalltalk/cea3fa0c-2873-4320-9e4c-ed6f98bd5260o%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
-- 
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]

http://www.clubSmalltalk.org
--- 
Has recibido este mensaje porque estás suscrito al grupo "ClubSmalltalk" de 
Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, 
envía un correo electrónico a [email protected].
Para ver este debate en la Web, visita 
https://groups.google.com/d/msgid/clubsmalltalk/CAKizN9xHS98tKxJ_fLnmm6i%2BmAzN34HCCyLhZ17bYs5s%2BcTh3w%40mail.gmail.com.

Responder a