Tôi đang làm việc với một số mã để thêm nút con vào cha mẹ của nó trong hàm tạo của con. Mã này trông giống như sau:Thực hành tốt nhất: Thêm nút con vào cha mẹ trong hàm tạo con hay không?
Class:
class Node1 {
public Node1(Node1 parent, String name) {
if(parent != null) {
parent.add(this);
}
this.parent = parent;
}
private void add(Node1 child) {
children.add(child);
}
}
Cách sử dụng:
Node1 parent = new Node1(null, "parent");
Node1 child1 = new Node1(parent, "child1");
Node1 child2 = new Node1(parent, "child2");
Bằng cách thực hiện nó theo cách này người sử dụng của lớp Node1
không nhất thiết phải thêm một cách rõ ràng các nút con (ít mã hơn) cho nó là cha mẹ và bạn đã đảm bảo một nút con có một phụ huynh.
Cá nhân tôi sẽ không viết nó như thế này, nhưng nhiều hơn như sau:
class Node2 {
public Node2(String name) {
}
public void add(Node2 child) {
children.add(child);
child.setParent(this);
}
}
Node2 parent = new Node2("parent");
Node2 child1 = new Node2("child1");
parent.add(child1);
Node2 child2 = new Node2("child2");
parent.add(child2);
Vì vậy, câu hỏi của tôi là, đây là một ý tưởng tốt để thực hiện nó như thể hiện trong lớp Node1
hoặc là có bất kỳ phản đối để làm điều đó theo cách đó? Hay không có lý lẽ nào về lý do tại sao người ta lại giỏi hơn người kia?
+1: Khá nhiều những gì tôi sẽ nói. –
Đây là một điểm tốt, tốt hơn là không sử dụng điều này trong một hàm tạo. –