Description:
The second volume in the Pattern Languages of Program Design series offers plenty of hands-on design patterns, including examples drawn from C++ to illustrate pattern use in the real world. The book starts out with some useful programming tips (called idioms) in C++ and Smalltalk for managing memory efficiently and writing faster programs. Subsequent sections look at design patterns (perhaps the most immediately useful kind), including the Command Processor for executing commands, and the Observer Pattern for building efficient components. There's some extensive research on the Proxy pattern, which presents many extensions for a variety of network and distributed solutions. A variety of special-purpose patterns come next, offering expertise on how to organize multimedia applications and design backup redundancy into software. Further chapters in this book cover patterns and how they apply to the software-engineering process. A particular highlight is Frank Buschmann's treatment of reflection, which allows for highly customizable objects and an evaluation of a variety of patterns for managing software projects. Some of the most accessible and intriguing material are the discussions on patterns for use in the classroom, how to create effective demonstration software, and how to set up a Web site for archiving essays. The book closes with papers on concurrency and distributed systems, featuring several tried-and-true patterns for minimizing the difficulties inherent in large-scale systems and reactive systems (which must process events from users or other inputs in real-time). In all, this second compendium of pattern research has a good mix of the accessible and the arcane and is a worthwhile choice for your library. --Richard Dragan
|