Solução estranha!

Bom dia!

Estou com o seguinte cenário. Eu tenho uma classe Fundo e uma classe MovimentoFundo. Ao meu ver o MovimentoFundo é agregação de Fundo.
Algo tipo assim

public class MovimentoFundo
{
}

public class Fundo
{
     public List<MovimentoFundo> movimentos;
}

Mas ao mesmo tempo, em outros lugares do sistema eu preciso tratar esse movimento de maneira singular, onde eu precisaria do objeto MovimentoFundo com um atributo para dizer qual é o fundo dele, e o MovimentoFundo ficaria assim:

public class MovimentoFundo
{
     public Fundo fundo;
}

Mas isso me pareceu meio estranho. Alguma opnião?

Eu não achei estranho não…

Acredito que a esta solução lhe ajude, já que MovimentoFundo depende de Fundo para existir.

[code]
public class MovimentoFundo
{
public List movimentos;

}[/code]

Este é um relacionamento bidirecional.

Sério é? Legal, gostei!
Se tem nome naum deve ser taum estranho.

ehehehhee

Se formos ver, todos relacionamentos são bidirecionais. Vamos pegar o exemplo do Carro e do Motor. O Carro tem um Motor e um Motor pertence a um carro. O que acontece é que na maioria das vezes implementamos apenas um dos dois lados do relacionamento.

Nesse exemplo dificilmente iriamos querer saber qual carro pertence um determinado motor partindo da instância do motor. Geralmente acessamos o motor através da instância de um carro então não faria muito sentido manter as duas vias da relação. Outro ponto que faz com que utilizemos menos relacionamentos bidirecionais é o fato de que pode ficar complicado (e pesado) manter o tempo todo essas referências cruzadas.

No entanto, há situações como a sua em que é necessário e isso é, do meu ponto de vista, completamente normal.