Padrões de Projeto: Proxy

Estou inaugurando uma nova fase do meu blog. Agora, ao inves de
fazer posts gigantescos sobre um tema, quero dividi-los em sub-temas e
posts menores. Por que isso? Bom, demora muito para que eu escreva um tópico grande. Para quem não vê, parece fácil, mas eu tenho que confirmar o que eu coloco no post(ou pelo menos fazer o melhor possível…), pensar como deixar o post mais visualmente agradável e
como eu vou desenrolar o tema. Isso tudo demanda tempo, o que não
tenho tanto disponível.

O Que é o padrão de projeto “Proxy”?

Proxy é uma técnica de padrões de projeto que tem como objetivo que uma classe seja uma interface para algum recurso. Esse recurso pode ser qualquer coisa que você queira imagina.

Função de extensão

Normalmente, quando você utiliza um proxy, e porque você quer estender uma funcionalidade que um recurso, adicionado mais funcionalidades que não existiam antes. Como só o objeto proxy tem acesso ao recurso, o recurso sempre vai continuar consistente e agora com uma nova funcionalidade.

Isso que dizer que o seu objeto pode passar a ter mais ações(métodos) e estados(variáveis). Com mais funcionalidades e estados, seu objeto passa a ser mais útil para um objetivo que você tenha ou até implemente agora uma funcionalidade que estava faltando.

Função de restrição

Como todo o acesso ao recurso passa pelo proxy, esse é motivo pelo qual ele pode estender ou restringir as funções de uma classe. Se você quiser restringir as ações ou os estados de alguma classe, você também pode fazer isso com um proxy.
Isso é comum quando você quer construir um objeto parcialmente, deixando um estado dele que seria muito custosa e desnecessário inicialmente para se construído depois ou até mesmo nunca. Também é possível implementar até mesmo um singleton com proxy, mas isso eu nunca fiz :p.

C’Est Finit

Bom, era isso. Queria mostra o proxy antes de mostrar os mágicos e maravilhosos “smart pointers“. Cada vez fica mais perto a chegada desses tópicos, e estou me preparando. Quando chegar a ver um tipo de “smart pointer“(auto_ptr vai primeiro, acho) vou dar bastante exemplo e mostrar comparações bem legais.

Mas, meu próximo plano é falar o que é smart pointer, e falar mais sobre a idéia, vantagens e mas umas “cossitas”. Depois disso, AUTO_PTR!!!!!!!!!

Até a próxima 😉

Advertisements

2 responses to “Padrões de Projeto: Proxy

  • Wellington

    Amigão, só pra ficar mais legal, é bom que se faça umas pequenas correções (embora nao seja de nada que comprometa o conteúdo do post)…
    <br />Exten&ccedil;&atilde;o &gt;&gt; Extens&atilde;o
    <br />Extender &gt;&gt; Estender

  • psychomantys

    Valeu veio. Realmente muitas coisas estavam erradas ortograficamente. Isso acontece pq eu só escrevo certo com um corretor ortografico, como o meu corretor não funciona direito no site, ai deu tudo isso ai.

    Mas já revisei tudo, Brigadão!!!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: