我刚刚从一位使用卡片布局的前同事那里继承了一个 Swing 应用程序。
它有大约 40 种不同的 JPanel 卡,它们都是静态的并构成 GUI。
这些静态面板中的每一个都是一个不同的类,每个类都有大约 50 个静态变量,它们都继承自同一个超类,它是 JPanel 的子类。
我计划将这 50 个静态变量和方法中的尽可能多的放入父类中以提高可读性。
我担心的是,所有这些静态变量和 JPanel 在不需要时都位于内存中。
我想知道这是否应该创建逐屏GUI的方式,或者是否有更有效的方式?
我刚刚从一位使用卡片布局的前同事那里继承了一个 Swing 应用程序。
它有大约 40 种不同的 JPanel 卡,它们都是静态的并构成 GUI。
这些静态面板中的每一个都是一个不同的类,每个类都有大约 50 个静态变量,它们都继承自同一个超类,它是 JPanel 的子类。
我计划将这 50 个静态变量和方法中的尽可能多的放入父类中以提高可读性。
我担心的是,所有这些静态变量和 JPanel 在不需要时都位于内存中。
我想知道这是否应该创建逐屏GUI的方式,或者是否有更有效的方式?
顺便说一句,它听起来并不特别优雅,但这并不意味着它是一个糟糕的设计。
就内存使用而言,2,000 个变量并不是很多内存,除非它们是大数据结构。我想知道有多少静态变量可以重构。毕竟,static int sFoo;
在两个子类中是内存中的两个变量,它们可能用于不同的目的。将它们放入公共超类意味着现在只有一个变量,并且(潜在的)多个目的现在可能会发生冲突。
此外,效率是旁观者的眼中。在不了解细节的情况下,很难说一堆静态面板是否是初始化应用程序的最有效方式。另一种效率是利用你的时间。在我看来,问题在于,根据需要进行修补以维护应用程序是否更有效,或者花大量时间进行前期重构是否更有效,希望能减少维护应用程序的时间。谁知道?我对这类事情的一般理念是,“如果它没有坏,就不要修理它”。