Attualmente sto lavorando a un progetto piuttosto massiccio con diverse classi di oltre 20.000 linee. Questo perché è stata un'idea brillante di qualcuno di mescolare tutto il codice di swing generato per l'interfaccia utente con tutto il codice funzionale. Mi chiedevo se avrebbe comportato costi aggiuntivi in termini di memoria o tempo di esecuzione, per spostare la maggior parte delle funzioni non relative all'interfaccia utente in una classe separata. Per fornire un esempio, questo è qualcosa sulla falsariga di ciò che sto costruendo.Efficienza Java dei metodi di spostamento in un'altra classe
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");
}
}
Alla fine, mi piacerebbe anche spostare alcuni dei campi come InfoItems oltre pure, il che porterebbe a un rapporto inverso, con Class1 c1u.infoItems di accesso.
il risultato della prestazione non sarà evidente in quasi tutti i codici tranne che in un sistema in tempo reale. – jtahlborn
@jtahlborn D'accordo, è necessario un ciclo davvero stretto per rendere l'effetto del livello extra di riferimento indiretto per diventare evidente. – dasblinkenlight