Нашли опечатку? Выделите ее мышкой и нажмите Ctrl+Enter
Название: Stripes: ...and Java Web Development Is Fun Again (Pragmatic Programmers)
Автор: Daoud F.
Personally, I consider this book the best confluence of a great explication with a great technology since C Programming by K&R. Like K&R, this book proceeds from the deceptively simple yet powerful through all the features and facets in a linear and consistent way. It bucks the paper happy approach (pioneered by Petzold in in his Programming Windows series) of showing 5 wrong ways before finally one right, and constantly gives the best way for each practice and then moves on.
Daoud does have the benefit of describing an enlightened platform, a meta MVC platform (a MVC framework for your MVC2 application) that is to software as The Declaration of Independence is to documents. Stripes is a container to web applications as Smalltalk was (is) for client applications. The features and facets of stripes are consistent, thematic, similarly sized and driven by both a view from 10,000 feet and the experience of a programmer in the trenches. While Stripes uses Java 5 features to implement code driven code that does programmatic busywork automatically, it also roles off gracefully where the platform ends and the user starts. So, while many facets of Stripes use smart binding driven by metadata (whether java inherent or decorated with annotations), it continues with use of interfaces and generics to allow user defined plug-in polymorphism for formatters (data to strings), converters (strings to data) and other platform features. While other well begun and meaning projects and books (e.g Spring and Hibernate) become increasingly full of Petzold-like blather (first 5 wrong ways to do it, just so you can appreciate what comes next, and then 3 right ways to do it), this book is a constant jazz-like crescendo of best-practices.
I will credit reading Harnessing Hibernate by James Elliott with turning me on to Stripes. But even this book presented a Rube Goldberg solution to the problem of facile binding of request data to Hibernate model objects (with yet-to-be lazily loaded related data requiring a session) using a Stripes Interceptor to rebind the unbound data. Stipersist, as described by Daoud, continues Fennel's approach of: given everything we've learned and everything we have available, how can we do this right FOR YOU.
This is my new favorite programming book and framework. Because of this book, I will use Stripes to coordinate other best practice technologies, such as Hibernate and Spring, rather than the other way around. Having said that, let me acknowledge what Daoud and Fennel do: Stripes knows it's place in the software ecology. It doesn't strive to be Kudzu-like, overwhelming diversity. It has a carefully described and confined mission - being the MVC of your VC and facilitating co-operation with the rest with no xml config.