Beim Anlegen meines Domain Models in Java stell ich mir mittlerweile schon die Frage: "Was sollen die ganzen getter- und setter Methoden?"
Selbstverständlich: die JavaBean Konvention!
http://java.sun.com/javase/technologies/desktop/javabeans/docs/spec.html
Anbei nun ein paar Gedanken hierzu:
Eigentlich sind die getter und setter Methoden bei Persistent Entities bzw. einem Domain Model zum Großteil nur eine Assistenten-Übungsaufgabe (zumindest innerhalb von Eclipse und allen anderen IDEs).
Es wäre zwar schon etwas schräg, aber eigentlich wäre hier mit public Variablen das Problem schon gelöst. Von einer Datenkapselung kann man eigentlich nicht mehr wirklich reden, da ja die getter und setter in der Regel direkten Zugriff auf die Variable geben. Gut: alle APIs die per Refelection die entsprechenden getter und setter Methoden aufrufen, müssten dann natürlich auch angepasst werden…
Soweit würde ich auch gar nicht gehen wollen.
Ich fände einen Ansatz per Annotations ganz nett:
@Entity
Public class Person {
//…
@GetterAccess
private String firstname;
//…
}
Die Annotation @GetterAccess würde hier nun ein entsprechendes public String getFirstname() automatisch generieren.
Eigentlich sollten alle Variablen, deren Klasse mit @Entity annotiert ist, automatisch getter und setter Methoden generiert bekommen. Die Methoden sollten dann einfach bei Bedarf "überschrieben" werden können.
Gibt es sowas vielleicht schon?
Soweit so gut erst mal mit meinen Gedanken zu Persitent Entities und deren unzählig vielen getter- und setter Methoden…
Keine Kommentare:
Kommentar veröffentlichen