{"id":652,"date":"2010-05-09T19:08:19","date_gmt":"2010-05-09T17:08:19","guid":{"rendered":"http:\/\/www.tutego.de\/blog\/javainsel\/2010\/05\/buchkritik-pro-jakarta-commons\/"},"modified":"2010-05-09T19:08:19","modified_gmt":"2010-05-09T17:08:19","slug":"buchkritik-pro-jakarta-commons","status":"publish","type":"post","link":"https:\/\/www.tutego.de\/blog\/javainsel\/2010\/05\/buchkritik-pro-jakarta-commons\/","title":{"rendered":"Buchkritik Pro Jakarta Commons"},"content":{"rendered":"<p><em>Harshad Oak, Apress, 1590592832, Februar 2004, 304 Seiten<\/em><\/p>\n<p>Harshad Oak beschreibt in dem Buch die bekannten Jakarta Commons Bibliotheken. Nicht jede Funktion wird vorgestellt, sodass das Buch die JavaDoc nicht ersetzt. Eher versucht der Autor die Philosophie und Kernkomponenten zu vermitteln. Es gibt immer wieder komplett abgebildete Listings, die man direkt in die IDE einsetzen und mit den entsprechenden Libs im Klassenpfad direkt ausf\u00fchren kann. Mich h\u00e4tte gefreut, wenn hinter den println()-Zeilen gleich die Ausgabe steht, so muss nicht man immer unter das Listing schauen \u2013 das geht besser. Die Auswahl an Themen ist OK, nur sein Styleguide ist zum Teil etwas schwach, wenn er etwa Variablen iVowelCnt oder iTestLen nennt. Auch Zeilen wie<\/p>\n<p>char[] aChars = new char[] { &#8218;a&#8216;, &#8218;1&#8216;, &#8218;c&#8216;, &#8218;2&#8216;, &#8218;e&#8216;, &#8218;f&#8216;, &#8218;g&#8216; };<\/p>\n<p>\u00fcberraschen mich (mal wieder). Und was ist das f\u00fcr eine Schreibweise in \u201cSELECT UserName as uName, AgE FROM USER\u201d?<\/p>\n<p>Updates w\u00e4ren nat\u00fcrlich sehr sch\u00f6n. Java 5 spielt keine Rolle, und Java 1.4 wird als aktuell bezeichnet, sodass es NestableException einen gr\u00f6\u00dferen Raum einnimmt, als es m\u00fcsste. An anderer Stelle gibt es den Satz \u201cThe Discovery component depends on JDK version 1.1.8 or higher\u201d. Also wenn das nicht gegeben ist\u2026 Auch Enum k\u00f6nnte man sich nat\u00fcrlich mit Java 5 sparen. Aber das ist eine allgemeine Kritik auch an den Jakarta Commons, da kann der Autor nichts f\u00fcr. Heute k\u00f6nnte man eine Reihe on Verbesserungen vornehmen und auch Alternativen nennen. Im Bereich Date\/Time etwa Joda-Time, bei Collections nat\u00fcrlich Google Collections, usw. Die Validator-Klasse macht mittlerweile Java Beans Validation, ein Standard von Java EE 6, quasi \u00fcberfl\u00fcssig und Struts Validator spielt heute keine Rolle mehr. Bei den BeanUtils w\u00e4re der Hinweise angebracht, dass man mit dynamisch generieten Bytecode schnellere L\u00f6sungen realisieren kann als \u00fcber Reflection. F\u00fcrs Datenbank-Pooling gibt es auch Alternativen, sie w\u00e4ren gut im Kapitel 6 aufgelistet. Commons Logging ist auch nicht unproblematisch, eine tiefere Diskussion h\u00e4tte der Autor bringen k\u00f6nnen. Und Thread-Pools k\u00f6nnten auch noch erw\u00e4hnt werden. In Java 7 ersetzt Objects die Commons Klasse ObjectUtils. Zusammenfassung: Fortgeschrittene Entwickler d\u00fcrften sich das Buch sparen k\u00f6nnen und kommen mit der API-Dokumentation \u2013 die sehr gut und mit vielen Beispielen bebildert ist \u2013 sehr weit. Einige der Commons-Bibliotheken sind zudem heute veraltet und spielen in neuesten Projekten keine gro\u00dfe Rolle mehr. Die spannenden und aktuellen Themen kommen im Buch leider etwas zu flach weg.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Harshad Oak, Apress, 1590592832, Februar 2004, 304 Seiten Harshad Oak beschreibt in dem Buch die bekannten Jakarta Commons Bibliotheken. Nicht jede Funktion wird vorgestellt, sodass das Buch die JavaDoc nicht ersetzt. Eher versucht der Autor die Philosophie und Kernkomponenten zu vermitteln. Es gibt immer wieder komplett abgebildete Listings, die man direkt in die IDE einsetzen [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","_links_to":"","_links_to_target":""},"categories":[4,6],"tags":[],"class_list":["post-652","post","type-post","status-publish","format-standard","hentry","category-open-source","category-rezension"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/652","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/comments?post=652"}],"version-history":[{"count":0,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/652\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/media?parent=652"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/categories?post=652"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/tags?post=652"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}