Моделът на домейн, върху който работя, има коренен агрегат и дъщерни обекти. Нещо като следния код:
class Order
{
IList<OrderLine> Lines {get;set;}
}
class OrderLine
{
}
Сега искам моята поръчка да контролира линиите. Нещо такова:
class Order
{
OrderLine[] Lines {get;}
void AddLine(OrderLine line);
}
В момента използваме следния модел:
class Order
{
private IList<OrderLine> lines = new List<OrderLine>();
OrderLine[] Lines {get {return this.lines;}}
void AddLine(OrderLine line)
{
this.orders.Add(line);
{
}
NHibernate се картографира директно към полето за линии.
Сега въпроси...
- Какво практикувате в такива ситуации?
- Някой използва ли методи: public IEnumerable GetLines()
- Какво използвате като тип връщане за собственост? Може да бъде ReadOnlyCollection или IEnumerable;
- Може би това не е най-доброто място да попитате? Предложете моля.
Актуализация: Изглежда, че IEnumerable печели, но решението все още не е перфектно...