[quote=acidburn][quote=pedro.lamarao]Um bom exemplo de aplicação de Proxy para funcionalidade, ao invés de economia, ocorre em frameworks de “remoting”.
Como uma referência direta à memória de outro processo é impossível, o programa local faz referência a um objeto Proxy ao invés; e o Proxy oculta a solução para o problema de comunicação entre processos.
Qualquer objeto que está para um sistema externo – como um conector de banco de dados – pode ser considerado um Proxy do sistema externo no programa local.
Note que “proxy” é inglês para “procurador” – uma pessoa legalmente habilitada a agir em nome de outra.[/quote]
O que não consigo compreender é como você disse o Proxy é um procurador, porém nos exemplos que eu li, entendi que o proxy esta agindo como um intermediário em um determinado momento assim chamando uma classe para executar algo, como no exemplo a cima onde a classe proxy se não me engano é utilizada para realizar a consulta no banco me corrijam se estiver errado, mas qual a necessidade disso ? [/quote]
Talvez a questão não seja sobre necessidade, mas sobre utilidade.
É claro que um idéia de um Proxy puro parece inútil – se ele é idêntico ao objeto original, porque não acessar o objeto original logo de uma vez?
O Proxy parece mais útil quando ele oculta alguma regra adicional que seja útil.
No seu exemplo, essa regra adicional parece ser um cache de dados recuperados do banco – de modo que os acessos subsequentes são mais econômicos.