Rating:  Summary: This is one book you don't wanna miss ! Review: #include <review_patterns.h>This book, it seems has the potential to go down as one of the seminal works in OOP / Patterns along with the works of GoF, Booch, Stroustrup and .... oops!! this review needs to wrap in 1000 words. sorry ! It starts with the motivations and challenges behind networked and concurrent systems and the why/how of the crisis in distributed computing. The book then focusses on 4 major realms of OO concurent and networked pgmg : Service Access and Configuration, Event Handling, Synchronization and Concurrency. In each of these sections, 4-5 patterns are discussed in an easy format and exhaustive detail. Finally, the book talks about how multiple patterns can collaborate to form meaningful frameworks for systems [and patterns themselves] and the brief chronological rundown of the happenings in the patterns world (including taking a shot at the future <CrystalBall pattern ;-) ?> I somehow find the style more lucid than the GoF book. Gotta say, love the CRC cards ! And oh ! There is this fantastico case study of a web server [JAWS, essentially] If you are close to ACE/TAO or love C++ idioms or dig Patterns or writing OO message passing libraries for Linux clusters, beg borrow or steal this book. (Preferably buy ;-) [Thanks to my supportive manager to have got me this ! ] >> Why you want to buy this << * Easy read, inspiring * Detailed, very focussed. Doesn't try to be everything for everyone (and ending up as nothing for most) * Some great C++ code / idioms [not to say that this book is incomprehensible for Java folks] * Insight into pattern languages, collaborations and the future of patterns * Serves as an insight into much of the architecture and rational behind ACE/TAO * Monstrous reference section and appendices. Treasure trove ! What I would like to see in the next edition are thought-provokers, questions, exercises which will help the reader on the way forward and find out deviations from patterns. Finally, you do not _have_ to buy this book because Knowledge is optional. Warmest regards, Shourya.Sarcar@geind.ge.com
Rating:  Summary: This is one book you don't wanna miss ! Review: #include This book, it seems has the potential to go down as one of the seminal works in OOP / Patterns along with the works of GoF, Booch, Stroustrup and .... oops!! this review needs to wrap in 1000 words. sorry ! It starts with the motivations and challenges behind networked and concurrent systems and the why/how of the crisis in distributed computing. The book then focusses on 4 major realms of OO concurent and networked pgmg : Service Access and Configuration, Event Handling, Synchronization and Concurrency. In each of these sections, 4-5 patterns are discussed in an easy format and exhaustive detail. Finally, the book talks about how multiple patterns can collaborate to form meaningful frameworks for systems [and patterns themselves] and the brief chronological rundown of the happenings in the patterns world (including taking a shot at the future I somehow find the style more lucid than the GoF book. Gotta say, love the CRC cards ! And oh ! There is this fantastico case study of a web server [JAWS, essentially] If you are close to ACE/TAO or love C++ idioms or dig Patterns or writing OO message passing libraries for Linux clusters, beg borrow or steal this book. (Preferably buy ;-) [Thanks to my supportive manager to have got me this ! ] >> Why you want to buy this << * Easy read, inspiring * Detailed, very focussed. Doesn't try to be everything for everyone (and ending up as nothing for most) * Some great C++ code / idioms [not to say that this book is incomprehensible for Java folks] * Insight into pattern languages, collaborations and the future of patterns * Serves as an insight into much of the architecture and rational behind ACE/TAO * Monstrous reference section and appendices. Treasure trove ! What I would like to see in the next edition are thought-provokers, questions, exercises which will help the reader on the way forward and find out deviations from patterns. Finally, you do not _have_ to buy this book because Knowledge is optional. Warmest regards, Shourya.Sarcar@geind.ge.com
Rating:  Summary: Size does matter Review: Big problems really are different from small problems. Solutions to small problems rarely scale well - the big solution often has to be different in kind from the small one. This book is about solutions to big problems, the kind that may involve hundreds of servers and thousands of clients, or more.
This gives a clear, thorough description of about 15 design patterns that work well large, performance-sensitive applications. Some (like "Scoped Locking") depend on the specific semantics of C++, but may work in Java or C# if used carefully. Others are highly specialized implementations of more general patterns. The "Leader/Followers" pattern, for example, is a one implementation of the "Object Pool" pattern (see Grand, 'Patterns in Java', 1998) used for a particular purpose. On the whole, the authors did a fair job of relating these patterns to others in the literature. I was only occasionally frustrated that I did not have that literature at hand when reading this.
The authors go into extreme detail in describing implementations based on each pattern, something sure to help some readers. There is often a C++ implementation as well, at least in skeletal form. The descriptions go on at great length, averaging almost thirty pages of discussion for each pattern. More isn't necessarily better, though, and some descriptions would have benefitted from a slimming program. I would also have been grateful for more differential discussion - comparing patterns, in terms of the specific decision critieria that argue for one pattern vs. another.
The back matter in this book takes about 100 pages - glossary, bibliography, and indices by pattern, topic, and author names. Very helpful stuff. If it's going to be that long, however, a sentence or two about the more important references would have added little bulk but lots of value to the bibliography.
The book is a good one, giving lots of practical information about the patterns it discusses. It's aimed at an experiecned reader, someone already conversant with OO programming, patterns, and at least a taste of problems bigger than classroom exercises or solo projects. A bit less mass chosen a bit more carefully would have improved this book, but it's still a worthwhile addition to my technical library.
//wiredweird
Rating:  Summary: A life preserver in the sea of software chaos Review: Builds extensively upon the foundations laid out by the previous POSA book, and Design Patterns from the notorious "Gang of Four". This is a "must have" for any serious networking and/or concurrent software engineer. Each pattern is explained in detail. Many of the patterns are presented with "real-world" analogs that help to explain the context and the solution. An excellent work, and a much needed reference in my "bag of software tools".
Rating:  Summary: A life preserver in the sea of software chaos Review: Builds extensively upon the foundations laid out by the previous POSA book, and Design Patterns from the notorious "Gang of Four". This is a "must have" for any serious networking and/or concurrent software engineer. Each pattern is explained in detail. Many of the patterns are presented with "real-world" analogs that help to explain the context and the solution. An excellent work, and a much needed reference in my "bag of software tools".
Rating:  Summary: hard to read - poorly written Review: Doug Schmidt is a world authority on Corba and a helpful and unassuming person; so I was eager to get this book since he is listed as one of four co-authors. However after 1 1/2 years of sitting on my shelf and not being used much, I think someone needs to point out to the editor, that it is not very readable. The GOF patterns book (by Vlissides) was a pleasure and easy to read. However this book is full of bewildering sentences like (page 217, 2nd sentence, 1st para). Exact quote: "When asynchronous service processing completes, the application must handle the corresponding completion events delivered by the operating system to indicate the end of the asynchronous computations." If most of the reader's mental effort is spent in parsing such sentences, rather than grappling with concepts, then the purpose is lost. The hallmark of a skillful writer lies in being able to explain great (though complex) concepts clearly. It is puzzling because Prof. Schmidt's papers are clearly written; "too many co-authors spoil the broth" :)
Rating:  Summary: Good Patterns Hidden in Excessive Verbiage Review: First, the patterns in this book are very good. It was nice to see some coverage of low level networking patterns. As an experienced programmer, I was vaguely familiar with many of the patterns already, but it is really helpful to see the lines drawn in the sand, to hear why the authors chose to break things up as they did, and to understand the ramifications of the patterns in greater detail (eg, their clarification of the difference between Observer and Interceptor was quite helpful). I even got to learn some new patterns! (The Leader / Followers pattern was new to me.)
That said, the writing style about drove me BANANAS! I have never lost my place in a sentence when reading a book so many times. I must have read every line twice. Look, I'm a computer geek - I LOVE dense technical books, but this is something else. It's like reading Shakespear, or Charles Dickens. The authors must have been paid by the word. The specific implies the general! Have mercy! I don't need the difference between an interface and its concrete implementation belabored every time it comes up (and in a patterns book, believe me it's often!)
Rating:  Summary: Meet the minimal expectations but ... Review: I am an newcomer for patterns, not sure patterns should be transparent to implementation languages. But this book definitely focus on C++. As a Java people, I don't find some of the patterns useful, for example, active object. Java has directly implemented it. Anyway, this book is in good design and pretty readable.
Rating:  Summary: Tools you must have as a programmer and archtitect today Review: I highly recommend this book! If you've ever wrestled with the varying idiosyncrasies of different operating systems' APIs, the gory details of network programming and/or the complexities of multithreaded programming, then you need this book. Even if you haven't yet and are just now getting into network and concurrent programming, then you will need the tools in this book. The writing style is very very easy to read even though it is tackling a complex subject. You can tell as you read it that it was written by programmers who have been in the trenches of network and concurrent programming. Almost as important as the patterns presented in the core of the book, are the descriptions of the challenges one faces when architecting and writing concurrent and networked software. For me, getting a clear understanding of these exact challenges and difficulties simplified the entire task of distributed programming. Add to that the patterns themselves and I feel anyone who reads this will have a great deal of confidence and competence in concurrent and networked programming. Each pattern is clearly laid out and includes real-life examples and sample code. Additionally, there are clear descriptions of how these patterns work together to solve real problems. I was able to put the patterns described in this book into immediate use in the large-scale industrial projects that I was and still am working on. And when I say I was able to put them to use, I mean not just sparingly but rather at the very core of the architecture I was building. I can honestly say that the use of the patterns and techniques described in this book has saved me hundreds of hours of time and headache! This book takes what has been, in the past, the skill of only a few programmers and provides you with tools to tackle the complex tasks of architecting and programming concurrent and networked software.
Rating:  Summary: What a powerhouse! Review: I've just finished reading through this book and I can't say enough good things about it! The patterns are great; the structure of the book *and* the patterns is impressive -- a real pattern language! I love the real-world, non-software examples. That helps new readers understand and helps users remember what the pattern is all about. With an all-start cast of writers, you would expect good things but this is a must have! A 5* addition for your pattern collection.
|