Tôi tự hỏi nguyên tắc OOP tốt là gì, nếu trong ứng dụng iOS, có UITreeView
và UINodeView
, với đối tượng UITreeView
có một số rootNodeView
và nhánh gốc này tắt với leftChildNodeView
và rightChildNodeView
.Trong nguyên tắc OOP tốt, nên một nodeView yêu cầu được thêm vào một cây, hoặc nên một cây thêm nodeView?
Nếu mỗi đối tượng UINodeView
có thể được "kéo và thả" bất kỳ vị trí nào trong màn hình, được thực hiện trong bộ xử lý -touchesMoved
của UINodeView
- đó là nguyên tắc OOP tốt? Ngoài ra, nếu một nodeView mới foo
thực sự gần với một trong các nút không có con trái hoặc phải, nút foo
có thể được thêm vào nút đó khi còn nhỏ.
Và tôi giả sử nếu một nút khác là bar
và cũng không có cha mẹ (nghĩa là, cũng đang lúng túng), có nghĩa là foo
cũng có thể được thêm làm con của bar
.
Nếu điều này là foo
nútView "yêu cầu quyền từ nút được thêm làm con trái hoặc phải" và "thêm nó nếu được phép" hoặc nên UIViewController
hoặc UITreeView
phát hiện thấy nút đang di chuyển bên trong chính nó và " quyết định rằng nó gần với một nút khác (của tất cả các nút trên màn hình) và không có con trái hoặc phải, và thêm foo
như một đứa trẻ "?
Rõ ràng nếu chỉ một nút trong cây có thể thêm một nút con, thì UITreeView
có thể thực hiện công việc, nhưng nếu bất kỳ nút (treo lủng lẳng hay không) có thể là một phụ huynh, sau đó UIViewController
hoặc giao diện chính UIView
dường như cần để làm công việc đó.
Làm theo cách này hay cách khác vi phạm nguyên tắc OOP tốt?
Bạn có thể đăng một số mã không? Giống như một trong đó sẽ xử lý những thay đổi, điều khiển và xem. –