Java 场景应该移除层还是层本身移除?

Java 场景应该移除层还是层本身移除?,java,actionscript-3,oop,class,design-patterns,Java,Actionscript 3,Oop,Class,Design Patterns,这可能是一个非常新的问题,但我有一个名为Scene的类,它有一个名为Layer的类数组。每一层就像一个界面层或游戏屏幕层,场景调用层的更新和绘制功能等 我的问题是,当添加或删除这些层时,是否应该 场景。添加图层(图层) 或 层。添加到场景(场景) ? 我觉得两者都不错,但OOP中有什么规则吗?这不是问题,但我想你需要一个意见 我不知道有任何OOP规则会让它们中的任何一个失望,但我认为scene.addLayer(layer)将是最好的,因为它最有意义。假设你有一个罐子,你把硬币放进去。你会说co

这可能是一个非常新的问题,但我有一个名为Scene的类,它有一个名为Layer的类数组。每一层就像一个界面层或游戏屏幕层,场景调用层的更新和绘制功能等

我的问题是,当添加或删除这些层时,是否应该 场景。添加图层(图层)层。添加到场景(场景) ?

我觉得两者都不错,但OOP中有什么规则吗?

这不是问题,但我想你需要一个意见

我不知道有任何OOP规则会让它们中的任何一个失望,但我认为
scene.addLayer(layer)
将是最好的,因为它最有意义。假设你有一个罐子,你把硬币放进去。你会说
coin.addToJar
,这没有意义!硬币没有放进罐子里!你必须告诉罐子接受硬币。即使使用JavaGUI,也有
Container.add(Component)


(注意,这个问题不一定要在Java标签中,它可以应用于任何面向对象的语言。)

我必须说@Java写了一个可爱的答案,我将为您提供另一个观点。如果您的层在拥有它们的场景被删除时将被垃圾收集(删除),那么我将使用
scene.AddLayer(Layer)
,因为它为场景提供了一些层的所有权语义。另一方面,如果这些层将由不同的场景共享,出于相反的原因,我会选择
Layer.AddToScene(Scene)
。当然,这只是一种个人风格,并不是基于任何软件工程原理。

我不确定您的问题与使用Java编程语言编程有什么关系。为什么要使用标签?我对ActionScript不太了解,但在回顾stackoverflow上的标签使用时,标签通常与标签一起使用,而几乎从不与标签一起使用。我打赌你是想用这个标签,但我对这一点了解不够,无法自信地用这种方式编辑你的问题。如果我是正确的,你会想编辑你的标签,以便让正确的人看到你的问题。我使用了几种语言,包括java,但不确定在这种情况下应该放什么标签,因为这是所有OOP语言的一般问题。这是有意义的。仔细想想,ActionScript还使用container.addChild()将显示对象添加到显示容器中。感谢您的帮助。起初我在做Scene.addLayer,但不确定我是否做错了什么。@Elonoa,很高兴我能帮上忙。