Hallo zusammen,
ich möchte gerne bestimmten Code auslagern, da dies an verschiedensten Stellen benötigt wird.
Es handelt sich hierbei um keine objektspezifische Daten und mir schweben da im Moment 2 Varianten im Kopf herum.
Ich weiß allerdings nicht genau welches besser wäre bzw. welche Frage ich mir dazu stellen sollte?
Ich habe dazu mal ganz vereinfachte Besipiele erstellt
Möglichkeit_1: Daten über ein statische Methode einer weiteren Klasse auslagern
Möglichkeit_2: Lösen über Interfaces
Über Hilfe bin sehr dankbar
ich möchte gerne bestimmten Code auslagern, da dies an verschiedensten Stellen benötigt wird.
Es handelt sich hierbei um keine objektspezifische Daten und mir schweben da im Moment 2 Varianten im Kopf herum.
Ich weiß allerdings nicht genau welches besser wäre bzw. welche Frage ich mir dazu stellen sollte?
Ich habe dazu mal ganz vereinfachte Besipiele erstellt
Möglichkeit_1: Daten über ein statische Methode einer weiteren Klasse auslagern
Code:
public Class Helper
public static Data getData() {
Data data = new Data();
return data;
}
}
public class ClientA {
Data data = Helper.getData();
}
public class ClientB {
Data data = Helper.getData();
}
Möglichkeit_2: Lösen über Interfaces
Code:
public interface IData {
Data getData();
}
public class InterfaceImpl implements IData{
@Override
public Data getData() {
Data data = new Data();
return data;
}
public class ClientA {
IData iData = new InterfaceImpl();
Data data = iData.getData();
}
public class ClientB {
IData iData = new InterfaceImpl();
Data data = iData.getData();
}
}
Über Hilfe bin sehr dankbar