Hey,...
ich beschäftige mich gerade genauer mit Interfaces,... ich hab gelesen, dass man z.b. Daten aus einer Persistenzschicht nicht einfach an die Anwendung hochschmeißt, sondern eher Interfaces benutzt. Also nicht nur für die Persistenzschicht allgemein sondern auch für die Persistenz Objekte
Das hab ich soweit auch alles hinbekommen,... nur die Art, wie ich es hinbekommen habe, mit 1000 Casts etc. finde ich nicht so schön... daher wollte ich fragen, ob ihr mir da bessere Ansätze empfehlen könnt?
Hier mal ein kleines Beispiel, da das richtige zuviel gewesen wäre
Interfaces:
Klassen:
ich beschäftige mich gerade genauer mit Interfaces,... ich hab gelesen, dass man z.b. Daten aus einer Persistenzschicht nicht einfach an die Anwendung hochschmeißt, sondern eher Interfaces benutzt. Also nicht nur für die Persistenzschicht allgemein sondern auch für die Persistenz Objekte
Das hab ich soweit auch alles hinbekommen,... nur die Art, wie ich es hinbekommen habe, mit 1000 Casts etc. finde ich nicht so schön... daher wollte ich fragen, ob ihr mir da bessere Ansätze empfehlen könnt?
Hier mal ein kleines Beispiel, da das richtige zuviel gewesen wäre
Interfaces:
Java:
public interface AdresseInterface {
public String getOrt();
public String getStraße();
public PersonInterface getPerson();
}
Java:
public interface PersonInterface {
public String getName();
public List<AdresseInterface> getAdressen();
}
Klassen:
Java:
public class Adresse implements AdresseInterface{
private String ort;
private String straße;
private Person person;
public Adresse(String ort, String straße){
this.ort=ort;
this.straße=straße;
}
@Override
public String getOrt() {
// TODO Auto-generated method stub
return ort;
}
@Override
public String getStraße() {
// TODO Auto-generated method stub
return straße;
}
@Override
public PersonInterface getPerson() {
// TODO Auto-generated method stub
return (PersonInterface) person;
}
public void setOrt(String ort){
this.ort=ort;
}
public void setStraße(String straße){
this.straße=straße;
}
public void setPerson(Person person){
this.person=person;
}
}
Java:
public class Person implements PersonInterface{
private String name;
private List<Adresse> adressen;
public Person(String name){
this.name=name;
adressen=new ArrayList<Adresse>();
}
@Override
public String getName() {
return name;
}
@SuppressWarnings({ "unchecked", "rawtypes" })
@Override
public List<AdresseInterface> getAdressen() {
List<AdresseInterface> list= (List<AdresseInterface>)(List) adressen;
return Collections.unmodifiableList(list);
}
public void setName(String name){
this.name=name;
}
public void addAdresse(Adresse adresse){
adressen.add(adresse);
adresse.setPerson(this);
}
}