DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da Easy Java Magazine
ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!

Padrões de Projeto - Revista easy Java Magazine 13

Neste artigo abordaremos a história dos padrões de projeto no contexto da computação. Em seguida, daremos enfoque aos padrões GoF e como são usados em classes conhecidas do Java. Por fim, veremos como melhorar um sistema com a aplicação do padrã

[fechar]

Você não gostou da qualidade deste conteúdo?

(opcional) Você gostaria de comentar o que não lhe agradou?





Easy Java Magazine 13

[Artigo disponível no Leitor Digital DevMedia. Clique aqui para acessá-lo]

> Clique aqui para ler todos os artigos da Easy Java Magazine 13


No cotidiano do profissional que atua no ramo da tecnologia, não é incomum se deparar com problemas arquiteturais recorrentes nos mais distintos sistemas de software. Nesse contexto, a experiência em resolver tais situações cotidianas é um fator importante que permite ao desenvolvedor de software uma maior habilidade para criar estruturas mais flexíveis e escaláveis que são de fácil entendimento para outros profissionais que atuem futuramente sobre ela. Em geral, essa experiência agregada é um diferencial capaz de produzir aplicações melhores, menos custosas em relação à manutenção posterior e com maior probabilidade de atingirem um determinado objetivo inicial pré-estabelecido. No sentido de compartilhar essa experiência inerente ao desenvolvimento de aplicações melhores é que surgiram os primeiros estudos sobre padrões de projeto.

Os padrões de projeto estão enraizados nas pesquisas realizadas pelo arquiteto e urbanista austríaco chamado Christopher Wolfgang Alexander. Ele foi responsável pela constatação, através de observação sobre inúmeras cidades medievais, da existência de padrões que as tornavam mais harmoniosas e belas. O interesse dele em traduzir tais padrões em maneiras de fácil entendimento para a aplicação em projetos de construção futuros ou melhoria dos pré-existentes resultou na publicação, em 1977, do seu livro mais famoso: “A Pattern Language: Towns, Buildings, Construction”. Nesse livro, ele enumerou as regras e fez o uso de ilustrações para promover métodos exatos para construir desenhos práticos, seguros e atrativos que poderiam ser reaplicados para os projetos de construção. Um dos grandes benefícios dessa obra foi que, ao tornar os padrões reusáveis, serviu como grande auxiliar na tomada de decisões de arquitetura. Essa característica inspirou engenheiros da computação e pesquisas aplicadas a software.

O termo “padrão de projeto”, no contexto da arquitetura de software, é considerado hoje como um efeito colateral da publicação do livro “Design Patterns: Elements of Reusable Object-Oriented” de Erich Gamma, Richard Helm, Ralph Johnson e John Vlissides. Apesar disso, os primeiros trabalhos relacionados à pesquisa de padrões para a arquitetura de sistemas datam do final da década de oitenta, com as experimentações de Kent Back e Ward Cunningham, pioneiros da metodologia de desenvolvimento ágil de aplicações e da elaboração de aplicações baseadas em testes, Extreme Programming (XP) e Test Driven Development (TDD).

Esses trabalhos tinham o interesse comum de estudar e encontrar padrões em soluções amplamente empregadas em software para catalogá-las de maneira a torná-las uma base para uma situação equivalente futura. Assim, foram descritos os primeiros padrões de projeto para o desenvolvimento de sistemas.

O padrão de projeto nada mais é do que um modelo de uma experiência amplamente testada e aprovada que pode ser usado como um guia para a resolução de problemas específicos de arquiteturas orientadas a objetos. É uma alternativa reutilizável, baseada na abstração das escolhas bem sucedidas para atender uma dificuldade conhecida que é composta de quatro elementos essenciais: o nome, o problema que pretende resolver, a solução para o problema e as consequências da aplicação dele.

Os quatro elementos são decisivos para o sucesso de um padrão de projeto. Na grande maioria, os padrões descritos com melhor qualidade são de fácil interpretação e possuem uma grande capacidade de nos remeter aos benefícios de sua aplicação. Por exemplo, vejamos uma abstração de padrão do ponto de vista de Christopher: a solução para atravessar por dentro de uma montanha seria a construção de um túnel. O “Túnel” é um excelente nome de um padrão porque pode ser reconhecido por todos os envolvidos no projeto da construção, é também uma forma que já nos lembra do problema, ou seja, que uma montanha impede uma passagem e que também já nos leva a uma solução: a escavação. Além disso, ainda indica alguns benefícios, como não ter a necessidade de usar uma maior quantidade de recursos para construir uma via alternativa no entorno dela.

Atualmente, a quantidade de padrões de projeto identificados e catalogados em diferentes obras é provavelmente incalculável. Afinal, existem muitas situações onde existem padrões aplicados e que poderiam ser estudados. Não à toa, encontramos padrões para instanciar objetos, para lidar com problemas de concorrência ou até para construir web services. Entre eles, os mais conhecidos são os padrões GRASP (General Responsibility Assignment Software Patterns), estudados por Craig Lerman, e os padrões de projeto “GOF”."

A exibição deste artigo foi interrompida.

  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da Easy Java Magazine
ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!


Felipe Pierin
bacharel em Sistemas de Informação pela Universidade de São Paulo, desenvolvedor Java para a Web e especialista em desenvolvimento orientado a testes e boas práticas de programação. Escreve artigos para revistas especializadas e publica periodicamente dicas de programação no seu blog pessoal em oreb...
O que você achou deste post?

    2 COMENTÁRIOS

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.



Wagner Costa Viana.
Excelente artigo. Parabéns. Poderia agora mostrar um artigo sobre o padrão GRASP.
[há 10 dias] - Responder

 

Wagner Costa Viana.
Na verdade os padrões GRASP.
[há 10 dias] - Responder
 
Cursos relacionados
Publicidade
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2013 - Todos os Direitos Reservados a web-03