This blog has moved to
http://blog.matthias-reining.com

Die bestehenden Artikel bleiben vorerst alle bei blogspot. Neue Artikel veröffentliche ich allerdings nur noch auf http://blog.matthias-reining.com

Donnerstag, 4. Dezember 2008

Getter, Setter versus Domain Model/ Persistent Entities

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