Vì vậy, trong một mô hình điển hình, nơi bạn có cha mẹ có thể có nhiều trẻ em và một đứa trẻ chỉ có thể có một phụ huynh, bạn quản lý việc thêm trẻ như thế nào. Tôi đã sử dụng cách tiếp cận này;Thực hành tốt nhất để xử lý các bộ sưu tập cha-con NHibernate
public class Parent
{
public Parent()
{
Children = new List<Child>();
}
public IList<Child> Children
{
get;
private set;
}
}
public class Child
{
public Parent Parent
{
get;
set;
}
}
var child = new Child();
var parent = new Parent();
parent.Children.Add(child);
child.Parent = parent;
Vấn đề là ở khắp mọi nơi tôi muốn thêm một đứa trẻ mới, tôi phải nhớ thêm tham chiếu cho cả trẻ em và cha mẹ và một chút đau. Tôi chỉ có thể thêm một phương thức AddChild vào lớp cha và làm cho có trách nhiệm thêm trẻ em - vấn đề bây giờ là có 2 cách để thêm một đứa trẻ, thông qua thuộc tính Trẻ em và phương thức. Vậy đây có phải là giải pháp tốt hơn không?
public class Parent
{
public Parent()
{
children = new List<Child>();
}
private IList<Child> children
{
get;
private set;
}
public IEnumerable<Child> Children
{
get
{
return children;
}
}
public void AddChild(Child child)
{
children.Add(child);
child.Parent = this;
}
}
Có bất kỳ hướng dẫn nào để thực hành tốt nhất về điều này không và bạn làm gì?
đây là một giải pháp tốt nhưng với một nhược điểm rằng nếu người tiêu dùng bỏ các trẻ em để IList ông sẽ truy cập vào danh sách và có thể sửa đổi nó .. cách khác có thể được sử dụng ReadOnlyCollection <> –