Boa noite pessoal.
Estou com uma dúvida sobre a dependência entre objetos ao criar dois caminhos de navegação.
Vejam os exemplos a seguir:
Tenho duas classes em que tenho a relação de “classificação de itens”
class Item {
Grupo grupo
String nome
}
class Grupo {
String nome
}
Dessa forma a navegação é sempre de Itens para Grupo. (item.getGrupo())
Agora, por exemplo, caso eu queria montar uma view JSF com layout em abas, sendo que as abas são os grupos e os dados dentro da aba serão os itens. A navegação deveria ser de Grupos para Itens. (grupo.getItens())
Neste caso o código poderia ficar assim:
class Item {
Grupo grupo
String nome
}
class Grupo {
String nome
List<Item> itens
}
Desta forma, as chances de reutilizar as classes de Item e Grupo caem muito devido ao acoplamento cíclico.
Agora sim… vem a dúvida:
Vocês já passaram por alguma situação deste tipo?
Vocês têm alguma sugestão de como evitar esta dependência?
Existe algum padrão que possa ser útil nessa situação?
O design dessas classes está adequado?
Imagino que existam várias soluções, por favor, compartilhe sua idéia você também .
Obs.: Por enquanto não pretendo criar uma discussão sobre frameworks de persistência ou mapemento O/R, somente sobre o design das classes mesmo.
Valews
t+