Ik zat me net ff af te vragen: welk 'ontwerp' is eigenlijk beter als het gaat om bv. business objecten die een (of meerdere) collections hebben.
Stel voorbeeld a:
voorbeeld b:
Wat is eigenlijk best practice ?
In voorbeeld a scherm je die collectie veel beter af dan in voorbeeld b, maar in voorbeeld a verlies je dan wel weer wat flexibiliteit.
Als je een domein-class hebt met veel collecties, tja, dan ga je - als je voorbeeld a toepast - natuurlijk een helehoop Adddit en Adddat, Removedit, etc... methods gaan hebben.
Stel voorbeeld a:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| class MyCustomerDomainObject
{
...
private IList _orders;
public void AddOrder( Order o )
{
_orders.Add (o);
}
public Order[] GetOrders()
{
return _orders.ToArray();
}
} |
voorbeeld b:
code:
1
2
3
4
5
6
7
8
9
| class MyCustomerObject
{
private IList _orders;
public IList Orders
{
get{ return _orders; }
}
} |
Wat is eigenlijk best practice ?
In voorbeeld a scherm je die collectie veel beter af dan in voorbeeld b, maar in voorbeeld a verlies je dan wel weer wat flexibiliteit.
Als je een domein-class hebt met veel collecties, tja, dan ga je - als je voorbeeld a toepast - natuurlijk een helehoop Adddit en Adddat, Removedit, etc... methods gaan hebben.
https://fgheysels.github.io/