Реализация двунаправленной ассоциации

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
Model.Add(Element el)
{
Assert.That(PosElements, Has.No.Member(el));
if (el.Model == this)
{
// Добавляем в коллекцию...
}
else
{
el.Model = this;
}
}
Element.Model.set(Model value)
{
if (_model != value)
{
_model = value;
value.Add(this);
}
}