我目前正在处理一个相当庞大的项目,其中包含多个超过 20,000 行的类。这是因为将所有为 UI 生成的 swing 代码与所有功能代码混合在一起是某人的绝妙主意。 我想知道将大部分与 UI 无关的功能移到一个单独的类中是否会在内存或运行时间方面产生任何额外成本。 举个例子,这与我正在构建的内容类似。
public class Class1{
private Class1Util c1u;
List<String> infoItems;
...
public void Class1(){
c1u = new Class1Util(this);
}
public void btnAction(ActionListener al){
...
c1u.loadInfoFromDatabase();
}
}
public class Class1Util{
private Class1 c;
public void Class1Util(Class1 c){
this.c = c;
}
public void loadInfoFromDatabase(){
c.infoItems.add("blah");
}
}
最终,我还想将一些字段(如 infoItems)也移过来,这将导致反向关系,Class1 访问 c1u.infoItems。
最佳答案
不,关注点分离是一种很好的面向对象设计实践。它不会在性能方面花费任何有意义的成本,并且会在维护、可扩展性等方面为您带来许多好处。
关于将方法移动到另一个类的Java效率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10881212/