【发布时间】:2011-02-06 14:26:15
【问题描述】:
我正在构建自己的 Canvas 风格的 JPanel 子类,它将绘制节点和弧线图。 作为此应用程序的一部分,我将节点的绘制委托给精灵类节点,即
Class Visualiser extends JPanel {
...
paintComponent(Graphics g) {
...
node.draw(g);
...
}
}
但我也有一个用于数据结构的类节点。我不关心命名法,我可以调用一个 NodeSprite 来避免冲突等......
我想知道是否将数据结构和精灵类合并为一个,因为从逻辑上讲,它们都描述了相同的现实世界事物,或者这样做会产生任何负面影响,例如性能,或者一般不好设计。
有什么建议吗?
【问题讨论】:
-
为什么你的
Nodesprites 会自己画,还是我误解了你的设计? -
我心中的概念是将绘制节点的逻辑传递给它自己的类。这样,如果我想要一种不同类型的精灵,我就不必将越来越多的逻辑放入我的 JPanel 子类中。你有更好的设计模式吗?
标签: java oop swing data-structures sprite