Boa tarde, tudo bem?
Estou desenvolvendo um sistema que manterá um site.
Estou completamente confuso na hora de criar os relacionamentos entre as partes do meu programa. Vejam o meu diagrama de classes incompleto:
[URL=http://img535.imageshack.us/i/uml.png/]
[/URL]
Vocês podem ver que ainda não relacionei cidade, estado, bairro e telefone…
Um perfil tem todos aqueles atributos descritos na sua classe mais imagens, localização e telefones (1 ou vários).
Um perfil pode estar em várias categorias, deve estar em um estado /cidade / bairro.
Um perfil não pode existir sem estar em um estado /cidade / bairro. Assim como não pode existir sem uma relação com ao menos uma categoria. Suponho que seja uma composição. Na verdade, analisando dessa forma, para mim tudo é composição. Mas acredito que não esteja certo!
Alguém pode me ajudar? Já li e reli muitas vezes sobre relacionamento simples, agregação e composição mas não entendi. Não sei qual ponto de vista tenho que ter para analisar os relacionamentos.
Obrigado.
Agregação e composição.
Agregação: os participantes da agregação existem mesmo que a relação entre eles seja cortada.
Composição: pelo menos um dos participantes da composição deixa de existir se a relação entre eles for cortada. Isto é, se a relação deixar de existir. Isto é, um dos participantes só existe se estiver dentro do outro participante.
Exemplos:
Agregação:
Na fórmula 1 um carro pode utilizar diversos tipos de pneus durante uma corrida. Pneu para pista seca, pneu para pista molhada, (tem algum outro?
) …
Os mecânicos têm a disposição pneus e carros. E quando acharem oportuno, os mecânicos ligam um determinado carro a alguns pneus. Neste momento foi feita uma relação de agregação entre o carro e os pneus. E qnd os pneus se desgastarem os mecânicos tiram os pneus dos carros (cortam a relação) e guardam os pneus no cantinho da reciclagem (eu inventei esta).
Perceba, tanto os carros quanto os pneus existiam antes que a relação entre eles existisse. E ainda vão continuar existindo mesmo se a relação se desfizer.
Composição:
Um livro contém vários capítulos. Mariazinha é estudiosa e tem em mãos dois livros, cada um com 12 capítulos. Mariazinha vai ler 24 capítulos no feriadão.
Joãozinho é bobo, feio e rasga os livros de Mariazinha. Destrói os dois livros. Agora, mariazinha não tem mais nenhum capítulo para ler.
Não faz sentido falar de capítulo sem se falar em livro. Um capítulo só existe se um livro existente contiver tal capítulo. Um capítulo não existe por si só sem estar relacionado a um livro.
Livro pode existir sem capítulos (todo em branco), mas um capítulo só existe se estiver associado a um livro existente.