我想知道什么是好的 OOP 原则,如果在 iOS 应用程序中,有 aUITreeView和 a UINodeView,UITreeView对象有 a rootNodeView,并且这个根节点用leftChildNodeView, 和分叉rightChildNodeView。
如果每个UINodeView对象都可以在屏幕中的任何位置“拖放”,这在UINodeView's 的-touchesMoved处理程序中实现——那是好的 OOP 原则吗?此外,如果一个新的 nodeViewfoo确实靠近没有左或右子节点的节点之一,则foo可以将该节点作为子节点添加到该节点。
而且我想如果另一个 nodeView也没有父母(也就是说,也悬空),那么也可以添加为' 孩子是bar有道理的。foobar
此foonodeView 是否应该“请求节点允许添加为左子或右子”和“如果允许则添加”,或者是否应该UIViewController检测UITreeView到一个节点在自身内部移动,并“决定它靠近另一个节点(屏幕上的所有节点)并且没有左或右孩子,并添加foo为孩子”?
显然,如果树中只有一个节点可以添加子节点,那么就UITreeView可以完成这项工作,但如果任何节点(悬空或不悬空)都可以成为父节点,那么UIViewController主视图UIView似乎需要完成这项工作。
这样做是否违反了良好的 OOP 原则?