Donnerstag, Dezember 14, 2006

 

Data Transfer Objects (DTO) und Decorator Pattern

Angeregt von dem JSF Buch, habe ich angefangen meine Anwendungsstruktur zu überprüfen und festgestellt, dass da ein paar Sachen noch eleganter gelöst werden können. Die Entkopplung der Business-Objekte aus der Hibernate-Session fand nicht statt. Statt dessen habe lazy="false" relativ häufig verwendet und die Business-Objekte im Prinzip bis in die Presentation durchgereicht. Dass das langsam ist hatte ich schon bemerkt, aber dass das böse ist - das weiss ich jetzt auch ;-) Eleganter ist es DTOs (Data Transfer Object) zu bilden, die dann nur genau den Datenumfang in den Presentation-Layer bringen, der da auch gebraucht wird. Da DTOs von den Business-Objekten unabhängig sind kann man sie super serialisieren und über den Statemanager aufrechterhalten, ohne dass man in irgendwelche Schwierigkeiten mit bereits geschlossenen Hibernate-Sessions kommt. Diese DTOs zu erzeugen ist irgendwie recht aufwendig und es gibt verschiedene Wege das zu tun. Im Buch JSF@Work wird ein ObjectCloner beschrieben, der interessant klingt, sich aber einer weiteren Beurteilung entzieht solange der Beispielcode noch nicht online ist. Martin Fowler beschreibt in seinem Enterprise Patterns Buch eine Möglichkeit die DTOs mit speziellen Assembler-Klassen zu konstruieren. Je nach Anzahl der Ausprägungen mit Daten kann es dabei gerne auch mal mehr als eine Assembler-Klasse pro DTO geben. In den Java-Blueprints ist die Sache ebenfalls mit Assemblern angegeben. Deshalb habe ich mich jetzt erstmal für eine Test der Assembler-Nummer entschieden. In dem Buch von Martin Fowler ist das am besten erklärt, vor allem auch für den Fall, dass ein DTO geändert wird und dann das korrespondierende Business-Objekt die Änderungen übernehmen soll - soll ja vorkommen.

In dem Buch JSF@Work war ein zweiter interessanter Ansatz, nämlich das Erweitern von DTOs um UI-Funktionalitäten durch eine Aspect-Map. Momentan benutze ich das Dekorierer Pattern um die Business-Objekte um GUI-Funktionalitäten zu erweitern, was eigentlich ganz gut klappt. Ich glaube es ist nicht viel Arbeit die paar Funktionen in Aspekte umzulegen und werde es mal probieren.

Mal sehen wie's wird.

Labels: , , , ,


Dienstag, Dezember 12, 2006

 

Kontaktlinsen Preisvergleich Redesign

So, ich habe mal die Startseite meines beliebten Kontaktlinsen Preisvergleichs umgestaltet. Ich kann mal wieder kaum abwarten, ob sich da was messbares verändert hat...

Labels: ,


 

JSF@Work Nachtrag

Kleiner Wehrmutstropfen: Der Link auf die Beispielanwendung aus dem Buch geht nicht. Hab' gerade diesbezüglich eine Anfrage bei irian.at laufen. Mal sehen wie schnell dort reagiert wird.

Edit: Martin Marinschek hat persönlich und ziemlich schnell reagiert und mir geantwortet. Die entsprechende Seite wird da bald online sein.

Labels: ,


 

JSF@Work


Ich hab's ehrlich gesagt noch nicht vollständig gelesen, aber ich möchte dennoch meine Meinung über dieses Buch abgeben. Das Buch JSF@Work wurde unter der Mitwirkung führender MyFaces-Committer geschrieben und ist entsprechend fundiert. Nach den allgemeinen JSF-Grundlagen wird relativ ausführlich auf die MyFaces-Komponenten eingegangen (Für die Non-Checker: MyFaces ist eine freie Implementierung des JavaServerFaces Standards). Zu meiner Freude wurde auf AJAX und auf AJAX in Verbindung mit JSF in einem eigenen Kapitel eingegangen. Ebenfalls sehr schön fand ich die Vorstellung der Best-Practice-Beispielanwendung. Es war in weiten Teilen mit meiner Anwendungsstruktur identisch (Hibernate/Spring/JSF) und deshalb für mich sehr wertvoll. Da habe ich ein paar wertvolle Hinweise bekommen, speziell der ObjectCloner und die AspectMap verdienen einer näheren Betrachtung am heutigen Nachmittag. Das Buch ist sein Geld auf jeden Fall Wert.

Gelesen habe ich das Kapitel über die Best-Practice-Beispielanwendung in der Kapelle, das ist eine Restaurant/Kneipe im Viertel, wo ich nebenbei ein wenig gefrühstückt habe. Danach habe ich zur geistigen und körperlichen Verdauung einen Spaziergang an der Weser gemacht. Die Wiese finde ich noch ganz schön grün für Mitte Dezember, aber zumindest war es kalt.

Labels: , ,


 

Budo-Gala Oslebshausen

Mal wieder ein Blog-Beitrag mit 3 Tagen Verzögerung. Am Samstag war ich mit der TaeKwonDo-Sportschule Bremen bei der Budo-Gala in Bremen Oslebshausen dabei. Wir haben dabei eindeutig die geilste Show geliefert. Bin gespannt, ob das so werbetechnisch irgendwelche Neuen ins Training spült. Meiner Erfahrung nach wird das nicht der Fall sein, allerdings war ich auch noch nie mit so guten Leuten unterwegs. Naja, der offene Kanal Bremen war auch dabei und deshalb kann das alles in Auszüge heute Abend im offenen Kanal Bremen, irgendwann zwischen 19:30 und 21 Uhr, bewundert werden. Weil der OK Bremen nicht überall verfügbar ist, werde ich mal versuchen das ganze modern zur Verfügung zu stellen.

Ich bin bei der Nummer nur der Böse gewesen, deshalb werde ich da nach allen Regeln der Kunst verdroschen. Na, jetzt willste das auch sehen, nä ?

Labels: ,


This page is powered by Blogger. Isn't yours?