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 SQL Magazine DIGITAL
ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!

Artigo SQL Magazine 46 - Podar uma árvore nunca foi tão simples

Artigo da Revista SQL Magazine - Edição 46.

Esse artigo faz parte da revista SQL Magazine edição 46. Clique aqui para ler todos os artigos desta edição

 

Projeto

Podar uma árvore nunca foi tão simples

 

No artigo anterior, fizemos um overview sobre padrões de projetos, passando por anti-padrões e boas práticas de programação.

Apesar do título, esse artigo não tem uma abordagem ecológica. Na verdade, esse título faz referência a um Design Pattern, conhecido como Composite. Para entender melhor, recomendo que prossiga nessa leitura.

 

A composição

Vamos usar a criatividade. Imagine a interface de um sistema. A Figura 1 ilustra uma tela de cadastro de um sistema qualquer.

 

 

Figura 1. Tela de um sistema qualquer.

 

Observe que a Figura 1 ilustra uma janela contendo uma série de componentes, tais como: Labels, Radios, Panels, Tabs, TextFields, CheckBoxes, Menus, dentre outros. Não é difícil perceber que, alguns desses elementos estão contidos em outros, ou seja, formando uma estrutura de árvore. Por exemplo, o componente mais externo, a janela, contém todos os outros. A Tab Dados, contem dois Textfields e um Panel. Esse, por sua vez, contém dois Checkboxs, e assim sucessivamente. A Figura 2 esboça a estrutura de árvore, formada pela organização dos elementos de tela da Figura 1.

 

Figura 2. Estrutura hierárquica dos componentes.

 

Como existem elementos contidos em outros, e esses podem possuir suas próprias ramificações, dizemos que se trata de uma estrutura de dados, conhecida como árvore. Contudo, para que essas ramificações sejam possíveis, cada elemento deve possuir uma lista dos elementos que contem, ou seja, seus objetos filhos.

A Listagem 1 esboça uma primeira solução, codificando o método desenha() das classes Janela e Panel.

 

Listagem 1. Método desenha() das Classes Janela e Panel.

public class Janela {

 

"

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 SQL Magazine DIGITAL
ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!


Fabio Santiago
Fabio Santiago tem 28 anos, formado em Análise de Sistemas pela UNIFOR. É certificado SUN (SCJP). Atualmente é Consultor Web independente, e Engenheiro de Software do Instituto Atlântico pela IVIA. Foi Engenheiro de Sistemas do C.E.S.A.R (Centro de Estudos e Sistemas Avançados do Recife) para p...
O que você achou deste post?

    0 COMENTÁRIO

[Fechar]

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


Nenhum comentário foi postado - seja o primeiro a comentar!
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