0

我刚刚从一位使用卡片布局的前同事那里继承了一个 Swing 应用程序。

它有大约 40 种不同的 JPanel 卡,它们都是静态的并构成 GUI。

这些静态面板中的每一个都是一个不同的类,每个类都有大约 50 个静态变量,它们都继承自同一个超类,它是 JPanel 的子类。

我计划将这 50 个静态变量和方法中的尽可能多的放入父类中以提高可读性。

我担心的是,所有这些静态变量和 JPanel 在不需要时都位于内存中。

我想知道这是否应该创建逐屏GUI的方式,或者是否有更有效的方式?

4

1 回答 1

0

顺便说一句,它听起来并不特别优雅,但这并不意味着它是一个糟糕的设计。

就内存使用而言,2,000 个变量并不是很多内存,除非它们是大数据结构。我想知道有多少静态变量可以重构。毕竟,static int sFoo;在两个子类中是内存中的两个变量,它们可能用于不同的目的。将它们放入公共超类意味着现在只有一个变量,并且(潜在的)多个目的现在可能会发生冲突。

此外,效率是旁观者的眼中。在不了解细节的情况下,很难说一堆静态面板是否是初始化应用程序的最有效方式。另一种效率是利用你的时间。在我看来,问题在于,根据需要进行修补以维护应用程序是否更有效,或者花大量时间进行前期重构是否更有效,希望能减少维护应用程序的时间。谁知道?我对这类事情的一般理念是,“如果它没有坏,就不要修理它”。

于 2012-09-27T16:00:59.603 回答