Vivendo Melhor com os Padrões
435
13. Vivendo Melhor com os Padrões
Padrões no Mundo Real
Ahhhh, agora você está pronto para viver num admirável
mundo novo repleto de Padrões de Projeto. Porém, antes
que você comece a abrir todas essas novas portas de
oportunidades, precisamos abordar alguns detalhes que
você encontrará lá fora, no mundo real – é isso mesmo, as
coisas tornam-se um pouco mais complexas do que aqui em
Objetolândia. Venha conosco, na próxima página fornecemos
um ótimo guia para auxiliá-lo nessa transição...
CG_ucpadroes_RI2016.indb 435 22/11/2016 09:37:11
Use a Cabeça Padrões de Projetos
436
Denindo o Padrão de Projetos
Podemos apostar que, depois de ler este livro, você tem uma idéia ao menos razoável do que seja um padrão. Mas nós nunca lhe for-
necemos realmente uma definição de Padrão de Projetos. Bem, talvez a definição mais comum possa parecer um tanto surpreendente:
Não é a definição mais reveladora do mundo, certo? Mas não se preocupe, vamos analisar separadamente cada uma dessas partes
– contexto, problema e solução:
Esta é uma daquelas definições que levam algum tempo para serem digeridas. Não se apresse. Aqui está um pequeno texto mnemônico
que pode ajudá-lo a recordar a definição:
Temos o prazer de lhe oferecer este prático guia contendo dicas
& truques para conviver com os padrões no mundo real. Neste guia,
você:
Conhecerá os enganos mais comuns com relação à denição do
que é um “Padrão de Projetos”.
Descobrirá aqueles úteis Catálogos de Padrões de Projetos e
perceberá que já não consegue mais viver sem um.
Evitará os constrangimentos causados pelo uso de um Padrão de
Projetos no momento inadequado.
Aprenderá a manter os padrões nas categorias a que eles
pertencem.
Verá que descobrir padrões não é só para os gurus; leia o nosso
breve guia sobre Como Fazer e torne-se um escritor de padrões você
também.
Estará lá quando a identidade da misteriosa Gangue dos Quatro
for revelada.
Deixará seus vizinhos com inveja, exibindo todos aqueles livros de
mesa de centro que qualquer usuário de padrões deve ter.
Aprenderá a treinar a sua mente como um mestre Zen.
Fará novos amigos e inuenciará desenvolvedores melhorando o
seu vocabulário sobre padrões.
Guia de Objetolândia para uma Vida
Melhor com Padrões de Projetos
Um Padrão é uma solução para um proble-
ma dentro de um contexto.
Encapsular a iteração em
uma classe separada
Exemplo: você tem uma
coleção de objetos.
Você precisa acessar
individualmente esses
objetos sem expor a
implementação da coleção.
O contexto é a situação à qual o padrão é aplicável. Essa situação deve ser re-
corrente.
O problema refere-se ao objetivo que você está tentando atingir, bem como a
quaisquer limitações que ocorram no contexto.
A solução é o que você pretende obter: um projeto genérico que possa ser aplicado
por qualquer pessoa para contornar as limitações e atingir o objetivo.
CG_ucpadroes_RI2016.indb 436 22/11/2016 09:37:11
Vivendo Melhor com os Padrões
437
“Quando você se encontra num contexto com um problema que possui um
objetivo que é afetado por um conjunto de limitações, é possível aplicar
um projeto que equaciona as limitações e o objetivo e gera uma solução.”
Talvez pareça trabalho demais só para descobrir o que é um Padrão de Projetos. Afinal, você já sabe que um Padrão de Projetos fornece
uma solução para um problema de projeto comum e recorrente. Para que toda essa formalidade? Bem, você verá que a existência
de uma maneira formal de descrever os padrões nos permite criar um catálogo de padrões, o que proporciona inúmeros benefícios.
Talvez você tenha razão. Vamos pensar um pouco mais sobre isso… Precisamos de um problema, uma solução e
um contexto:
Problema: Como faço para não me atrasar para o trabalho?
Contexto: Tranquei as chaves dentro do carro.
Solução: Quebre a janela, entre no carro, ligue o motor e dirija para o trabalho.
Temos aqui todos os componentes da definição: um problema, que inclui o objetivo de chegar ao trabalho e as
limitações impostas pelo tempo, distância e provavelmente alguns outros fatores. Temos também um contexto,
no qual as chaves do carro estão inacessíveis. E temos a solução que recupera as chaves e nos permite resolver
simultaneamente as limitações de tempo e espaço. Portanto, isto deve ser um padrão! Certo?
Nós seguimos a denição do Padrão de Projetos e denimos um problema, um
contexto e uma solução (que funciona!). Será que isto é um padrão? Se não é, onde
foi que erramos? Poderíamos cometer um erro semelhante ao denir um Padrão
de Projetos para Programação Orientada a Objetos?
Poder
da Mente
Tenho pensado sobre a
denição em três partes,
e não me parece que ela
realmente dena um
padrão.
CG_ucpadroes_RI2016.indb 437 22/11/2016 09:37:11

Get Use A Cabeça Padrões E Projetos now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.