Coincidentemente já implementei dois sistemas para
criação de gráficos vetoriais. Em ambos nos deparamos com estes tipos de
dúvidas.
Acho que não existe regra, pois tudo depende da
flexibilidade da implementação, armazenamento, infra-estrutura, entre muitas
outras variáveis.
Não vou entrar em detalhes da
aplicação.
No caso, não há problema você fazer qualquer tipo
de relacionamento - herança, composição, etc. Você não vai cair em um
anti-padrão com uma estrutura simples como esta.
No nosso caso implementamos uma outra espécie de
especialização onde contávamos com objetos equi-redimensionáveis ou não. No caso
do quadrado, as alças para redimensionar afetam toda a estrutura, enquanto o
retângulo tem eixos redimensionáveis x e y.
Você poderia criar uma classe "figura de 4
lados" com especializações para estes dois casos Assim o comportamento
(behavior) é priorizado, e não a classificação por regras geométricas - o que
pode ser melhor para um sistema. Mas depende da linha que vocês estão seguindo,
requisitos, etc etc
[]'s
Rodrigo Miranda
- Original Message -
From:
Ana Lucia Pegetti
To: '[EMAIL PROTECTED]'
Sent: Thursday, December 06, 2001 5:41
PM
Subject: [java-list] Sistemas
gráficos
Pessoal,
será que
alguém poderia me ajudar com esta
questão?
Imagine que estamos projetando um sistema gráfico capaz de armazenar,
apresentar e alterar interativamente formas geométricas como elipses,
retângulos e segmentos de reta. Todas essas formas incluem um conjunto
razoável de informações universais, como cor, posição e espessura de traço,
portanto é razoável supor que objetos ofereçam vantagens na implementação
(queremos facilmente definir código capaz de desenhar, copiar, mover, salvar
um conjunto arbitrário de formas, se possível aceitando novas formas em
futuras versões). Considere os conceitos Retângulo e
Quadrado. Suponha que em nosso sistema ambos tenham suas dimensões
principais sempre alinhadas com os eixos cartesianos (em outras palavras,
seriam possíveis retângulos "horizontais" e "verticais", nunca "diagonais").
Seria melhor Retângulo estender Quadrado ou vice-versa? Ou
não herdar?Quais as
vantagens e desvantagens de cada escolha sobre como implementar esses dois
conceitos.Implemente uma delasbrevemente em Java (esboce
como ela seria usada).
Obrigada.
Ana Lúcia
Pegetti
Analista de Tecnologia da Informação
Carbocloro Indústrias Químicas S/A
TeL: 55 - 0XX13- 33613511 R:8268
E-mail: [EMAIL PROTECTED]