J2EE Design Patterns
If you are working on frameworks, integration projects or system components, it is my belief that you'll almost certainly pick up some ideas from this book. J2EE Design Patterns is organized according to the different layers that you might find in a multi-tier architecture: presentation, business, database, messaging, and others. Consequently, if you're a JSP developer on a project team, youll be able to get some ideas for how to organize your work as well as how to interface it with, for example, controllers, if you're following an MVC framework. Or, if you're integrating various distributed non-Java systems, you'll want to read the chapters on Business Tier Interfaces and Enterprise Concurrency.
Judging by my friends' bookshelves, another popular Java patterns book is Core J2EE Patterns. If you already own this book, you will find that this new offering from O'Reilly doesn't contain as many patterns per se, but seems to go into a greater level of detail describing each pattern and supplementing it with more code samples. A nice feature of the O'Reilly book is that each pattern gets ample coverage in enough detail for you to understand the actual problem, the causes and -- equally importantly -- how to put a solution into place. Each pattern is described using some UML notation and code samples (Chapter 2 contains a UML primer).
One of the problems that I've encountered reading books on the subject is that some steer so deeply into abstraction that they become hard to understand. Others are so stylistically repetitive that trying to read them becomes mind numbing. Fortunately, neither problem surfaced during the time that I spent reading this book. The authors avoided the visual repetition of the traditional Problem / UML / Goal / Actors format that other books follow by moving this type of description into an appendix. That lets the body of the book flow more easily and also supplies the reader with a handy quick reference in the back pages.
Do I have any complaints? Well, this book certainly doesn't suffer from any fatal flaws. But it seems that an acknowledgement of the popularity of certain components could have been included. For example, while specific MVC frameworks, like the ubiquitous Struts, were mentioned, Object-Relational mappers were not; I read some of the chapters and winced at the code samples that manipulated SQL strings and felt grateful that I'm using the wonderful Hibernate O/R mapping engine. Of course, for various reasons, some readers won't be able to use tools like these, and a book about patterns has to maintain a certain level of abstraction in order to maintain any lasting credibility. But the section on Object-Relational Mapping doesnt even mention that a class of tools exists without the use of EJB CMP (Container Managed Persistence). Thats a real shame, because manually moving data from the object world to the relational world and vice versa is time-consuming and error-prone (and frequently unnecessary) work.
It's a good book, with 285 pages of text and 53 pages of appendices. I've owned it for four days, and I've already managed to steal some of these ideas for the projects I'm working on.
Philip Jacob works for Eyeglasses.com. You can purchase J2EE Design Patterns from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.
everything is italicized! yay editors!
evil adrian
Who let the trolls out (woof, woof, woof, woof)
Who let the trolls out (woof, woof, woof, woof)
When slashdot was nice, the moderation was jumpin
(Hey, Siggie, Yi, Yo)
And everybody havin a ball
(Hah, ho, Sig leven Yi Yo)
I tell the trolls start the First Postin
(Siggie Yi Yo)
And the moderators report to the call
The poor dogs mod down
Who let the trolls out (woof, woof, woof, woof)
Who let the trolls out (woof, woof, woof, woof)
Rap 1
I see ya little Taco head up our site
He really want to keep us down
But his readers are too stupid to see us comin
And everybody mods up us clowns
Verse
Im gonna tell
(Hey, Siggie, Yi, Yo)
To any Dan Hayes and Anne Marie
(Siggie, Yi, Yo)
Tell the dummy Hey Baby, Kiss MY Blade!
(Siggie Yi, Yo)
You fetch a moderator in front and her trolls behind
(Siggie, Yi, Yo)
Her points run out now
Chorus
Who let the trolls out (woof, woof, woof, woof)
Who let the trolls out (woof, woof, woof, woof)
Chant
Say, A troll is nuttin if he dont have suckers
All mods give up ya points, all mods give em up
A troll is nuttin if he dont have suckers
All mods give up ya points, all mods give em up
Rap 2
Wait for yall my trolls, the party is on
I gotta get my girl I got my goatsex on
Do you see the mods comin from my eye
What could you be first post
that Katz man thats breakin them down?
Me and My petrified short shorts
And I cant post a lot, any troll will do
Im figurin thats why they call me Lita Juarez
Cause Im a stupid man of the land
When they see me they go doo-doo (howl)
Chorus 5 Xs
Who let the trolls out (woof, woof, woof, woof)
Who let the trolls out (woof, woof, woof, woof)
Eh?
Really, isn't a functional language like LOGO
(hmmm, something strange about that turtle head there) better?
And what about LOGO's big brother, Common Lisp?
C'mon guys! The Turtle is calling for you. Will you answer?
"After all, it's been "one nation under God" since 1950s when the reference to God was sneaked in to the pledge our kids are made to recite."
Yep. That's why the Bible was taught in school from our nation's birth up until a few decades ago when we began our downward spiral.
That's why the Declaration of Independence recognizes the God-given rights of all mankind.
That's why the majority of the founding fathers were Deists, if not Christians.
That's why one of the requirements of admission to the Union was that the Bible be taught in school.
That's why every session of the U.S. Supreme Court opens with the phrase, "God save the United States and this Honorable Court."
That's why the words "In God We Trust" are inscribed in the House and Senate chambers.
That's why on the walls of the Capitol dome are the words: "The New Testament according to the Lord and Savior Jesus Christ."
That's why in the Rotunda of the Capitol is a figure of the crucified Christ.
That's why a picture of the baptism of Pocahontas at Jamestown hangs in the Capitol Rotunda.
That's why a painting of the pilgrims hanging in the Capitol Rotunda shows Elder William Brewster holding a Bible and the words "God With Us" are inscribed on the ship's sails.
That's why a relief of Moses hangs in the House Chamber.
That's why the Latin phrase Annuit Coeptis -- "God has smiled on our undertaking" -- is inscribed on the Great Seal of the United States.
That's why under the seal is the phrase from Lincoln's Gettysburg address: "This nation under God."
That's why the Liberty Bell has Leviticus 25:10 prominently displayed in a band around its top: "Proclaim liberty throughout all the land, unto the inhabitants thereof."
That's why Micah 6:8: "He hath shown thee, O man, what is good; and what doth God require of thee, but to do justly, and to love mercy, and to walk humbly with thy God" are engraved upon the walls of the Library of Congress.
That's why the lawmaker's library quotes the Psalmist's acknowledgement of the beauty and order of God's creation: "The Heaven's declare the glory of God, and the firmament showeth his handiwork."
That's why engraved on the metal cap on the top of the Washington Monument are the words: "Praise Be to God."
Check your facts. This has been one nation under God from the beginning. It's only very recently that God-haters like you hijacked the judiciary and started systematically eliminating all acknowledgements of God from the public domain and our nation's consciousness. Can you honestly sit there and say that all of our problems, both domestic and international, are not a result of us failing to apply Christian principles to our domestic and foreign policy? Even if you are not a Christian, you must recognize the utility of God's second greatest commandment: to love one another as much as we love ourselves. Please stop destroying the foundation of my country.
That's pretty much BS. Considering I have been going through a Comp Sci Master's program only knew FORTRAN and C in passing when I started, I know that Java is much much more than hype and to say otherwise is fairly ignorant. I have subsequently learned C, C++, Perl, and PHP and Java is, by far, the best bang for your buck hands down. Cross-platform is only the tip of the iceburg. Handling sockets, connecting to databases of all kinds, web development, server-side processing, etc. are elegantly solved in Java. No longer are there propriety libraries that everyone had to write in C or C++. There's a more formal ground-up OO structure in Java compared to C++. Java is absolutely not hype. Your fairly weak examples do not do much to discount from the overall benefits of Java IMHO.
I have no knowledge of LISP, but that does NOT mean I can't argue against someone saying that Java is best at hype. That's just a dumb thing to say.
Zed's dead baby. Zed's dead.