Artigo Java Magazine 42 - Aplicando Design Patterns

Utilize bibliotecas open source e design patterns para construir um visualizador de arquivos, e aprenda ao mesmo tempo melhores práticas de programação e APIs úteis do Java SE.

Por que eu devo ler este artigo:Esse artigo trata de forma prática vários temas importantes no desenvolvimento de aplicações Java. Abordaremos aqui, passo a passo, a modelagem e a implementação de uma aplicação que faz uso intensivo de design patterns e de bibliotecas open source. Ao mesmo tempo, destacamos boas práticas de desenvolvimento e apresentamos algumas APIs do Java.

Entendendo o contexto

Como sabemos, os design patterns (padrões de projeto) descrevem soluções para problemas recorrentes. Seu uso normalmente torna a aplicação mais elegante e mais fácil de manter. Os patterns também definem uma terminologia comum para uso pelos profissionais envolvidos no projeto, facilitando assim a compreensão do código que os utiliza.

A literatura sobre padrões de projeto é extremamente ampla [1], mas muitos desenvolvedores ainda têm dúvida na maneira de aplicar alguns patterns menos comuns. Ainda que exista um forte movimento a favor do uso de patterns, alguns programadores têm pouco contato com outros além dos “Java EE patterns” ou os implementados pelos frameworks web (Command, Singleton, Factory etc).

Nota [1]: O tema é tão discutido que existem até conferências dedicadas exclusivamente aos patterns, como a SugarLoafPLoP.

Neste artigo usaremos dois patterns de ampla utilidade que são usados nas APIs do Java e em vários frameworks e bibliotecas: Template Method e Chain of Responsibility. Embora seu uso seja menos comum que o dos padrões citados anteriormente [2], você verá que esses patterns trazem uma série de benefícios importantes.

Nota [2]: Os dois padrões são utilizados na API Java. O tratamento de erros utiliza o Chain of Responsibility e diversas classes abstratas utilizam o Template Method.

Entendendo a ferramenta

Nosso interesse é construir uma ferramenta de visualização de arquivos. Apesar de o Java oferecer suporte nativo à visualização e à manipulação de arquivos-texto e imagens, um visualizador que incorpore realce de sintaxe, ou que permita exibir arquivos complexos, exige codificação adicional. Nosso desafio é construir um visualizador genérico, que permita exibir diversos formatos de arquivo (com realce de sintaxe, quando aplicável) e que seja extensível, permitindo que no futuro outros formatos sejam incorporados.

As Figuras 1 à 6 mostram o funcionamento do nosso visualizador, que permite mostrar nove tipos arquivos (html, jpg, gif, png, java, pdf, rtf, txt e xml). A utilização é simples: basta arrastar um ou mais arquivos sobre a tela e uma aba será criada para cada um. Cada aba incorpora um componente visual específico, responsável pela renderização do arquivo em questão.

Figura 1. Arrastando arquivos para visualização" [...] continue lendo...

Artigos relacionados