Buy Used
+ $3.99 shipping
Used: Good | Details
Condition: Used: Good
Comment: Light wear with minimal wear on cover and bindings. Pages show minor use.100% Money Back Guarantee. Shipped to over one million happy customers.
Have one to sell? Sell on Amazon
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more

The Pattern Almanac 2000 Paperback – January 15, 2000

13 customer reviews

See all formats and editions Hide other formats and editions
Amazon Price New from Used from
"Please retry"
$30.00 $0.02

Editorial Reviews Review

Software patterns are reusable designs that occur again and again, and over the last decade, researchers have been very busy cataloguing them for the rest of us. The Pattern Almanac 2000 takes stock of over 700 previously published patterns. Sure to be a must-have for any serious software designer or project manager, this book provides a fascinating glimpse into the richness of the patterns movement.

For anyone who has followed the emergence of software patterns, this text compiles traditional sources of expertise. Its pages contain the "original" 23 patterns defined by Erich Gamma and the so-called "Gang of Four" team that in 1995 published the bestselling Design Patterns: Elements of Reusable Object-Oriented Software. The almanac also gathers the patterns published in the four-volume series Pattern Languages of Design 1 through 4. That's just the tip of the proverbial iceberg here, as this almanac compiles over 700 patterns from other books, magazines (including C++ Report), conferences, papers, and Web sites.

This almanac is organized into about 70 categories of patterns, ranging from "Accounting" to "Writers' Workshops" and including almost everything in between. Each entry gets a short sentence or two of description, additional sources, and cross-references to related patterns. For programmers, there are patterns for C++, Java, and Smalltalk (which gets well over a hundred in number). Because successful project and team management can be difficult, many patterns deal with more effective software design throughout the project's life cycle. Specialized topics include patterns for finite state machines, parallel processing, fire alarms, and even patterns about patterns. (These sections look at some rules for defining new patterns, as well as running conferences and workshops.) Patterns often have short and sometimes evocative names. You'll find it all here, including early patterns like "Facade" and "Observer," as well as more entertaining ones like "Big Ball of Mud" or (our favorite) "George Washington Is Still Dead."

Although browsing through The Pattern Almanac 2000 will not make you an expert on patterns, it will introduce you to a world of expertise on reusable designs. It's a truly valuable reference for any software developer or manager. --Richard Dragan

Topics covered: Reference listing of software patterns, analysis patterns, organizational structures, patterns for effective software design (including user interface design), patterns (and anti-patterns) for team and project management; C++ idioms, history patterns, patterns for multimedia and Web design, Java and Smalltalk patterns, databases, patterns for defining new patterns (and running pattern conferences and workshops), finite state machines, telecommunications, Smalltalk patterns, client-server frameworks, patterns for education, system testing, parallel processing, patterns for cryptography and security.

From the Inside Flap

This book organizes and describes published patterns to help you find the pattern(s) you need. It contains two kinds of patterns: those that stand alone (patterns), and those that work within a collection (subpatterns). The collections may be pattern languages, or they may be patterns published as a unit that solve problems in a particular domain. In other words, collections comprise interdependent patterns that work together to one degree or another. Stand-alone patterns and collections of patterns are generically termed entries of the Almanac.

The first section you encounter, the List of Almanac Entries, is just that: an exhaustive list of all entry titles. Next comes the Categories section, which lists categories of patterns in alphabetical order. Each category is followed by patterns, collections, and experience reports. After Categories comes the heart of the book, the Almanac Entries, containing descriptions of the patterns and collections themselves. Next comes the Bibliography, which contains references for all entries and experience reports. Finally, there is an Index of entries, subpatterns, authors, and citations.

If you know the name of a pattern or collection and want to know more about it, use the List of Almanac Entries. If you're not sure of the exact title but know a key word or two, use the Index. If you're interested in patterns for a given domain, look the domain up in the Categories section. With time, you will develop your own technique for using the Almanac effectively.

I'm sure you'll also discover areas for improvement. If you find that I have missed a book, article, or URL that harbors patterns, by all means let me know. References to publications that show patterns in action are also welcome. And of course, corrections or additions of any kind are greatly appreciated, especially regarding misinterpretation of pattern intent or characterization, misspellings, annoying habits—you name it!

A sticky topic that I hesitated to tackle, at least for now, is pattern evaluation. For those who know Christopher Alexander's work, he labels his patterns with asterisks that indicate how successfully each pattern captures a "deep and inescapable property of a well-formed environment" Alexander+77, xiv. In that vein, I'd love to hear stories about patterns that have or have not worked for you, as well as insights regarding pattern evaluation and categorization. Please send everything to risingl@acm, and thanks in advance for your input! Acknowledgments

This has been an exhilarating project! It couldn't have happened without the hard work of many people—first and foremost, the pattern writers. Thank you all. I am honored to be a proxy for your contributions to the pattern literature.

Thanks to John Vlissides for believing I could really pull this off. He made a significant contribution to the project.

Thanks to Paul Becker, Mike Hendrickson, and Sarah Weaver at Addison-Wesley for their support in bringing the book to fruition.

Thanks to Ross Venables for collating all those files!

Thanks to Luci Crackau for her work on the categories and for allowing me to take over her office.

Thanks to Patrick Chan, the Java Developers Almanac author and Frame guru who has been a tireless co-developer of this book. Thanks also to Arthur Ogawa, TEX wizard, for contributing his valuable skills to the layout.

Thanks to Rosemary Michelle Simpson, indexer extraordinaire, who also made many valuable suggestions for this book.

Thanks to Joel Jones, a former fellow grad student, who jumped in to ferret out experience papers and write up summaries.

Thanks to all the reviewers who spent valuable time coming up with improvements to this work.

Thanks to Charlie Schultz and Jeff Seigel, my original supporters at AG Communication Systems, and to Paul Narula, my most recent coach, for allowing me to spend time on this effort.

Finally, thanks to Karl Rehmer, who reminds me, when I forget, that I have everything I need. Thanks, you dear heart! L.R.
Phoenix, Arizona
January 2000
risingl@acm 0201615673P04062001


Shop the New Digital Design Bookstore
Check out the Digital Design Bookstore, a new hub for photographers, art directors, illustrators, web developers, and other creative individuals to find highly rated and highly relevant career resources. Shop books on web development and graphic design, or check out blog posts by authors and thought-leaders in the design industry. Shop now

Product Details

  • Series: Software Patterns
  • Paperback: 384 pages
  • Publisher: Addison Wesley Publishing Company; 1st edition (January 15, 2000)
  • Language: English
  • ISBN-10: 0201615673
  • ISBN-13: 978-0201615678
  • Product Dimensions: 9.1 x 7.3 x 0.6 inches
  • Shipping Weight: 1.2 pounds
  • Average Customer Review: 3.2 out of 5 stars  See all reviews (13 customer reviews)
  • Amazon Best Sellers Rank: #3,248,062 in Books (See Top 100 in Books)

More About the Author

Discover books, learn about writers, read author blogs, and more.

Customer Reviews

Most Helpful Customer Reviews

16 of 16 people found the following review helpful By Robert Street on July 24, 2000
Format: Paperback Verified Purchase
When this book is described as a listing of 700+ patterns, think literally. No UML, no suggested implementation, no rationale, no CRC - just a brief description of the pattern. And I do mean brief; the GoF's Mediator is reduced to six or seven lines. If you're looking for a good book on patterns, go elsewhere. If you're looking for a good index to pattern material you may already have (JOOP, GoF, Smalltalk Patterns, PLoP books, PLoP conferences, and others) this may be a worthwhile investment as the book includes excellent citation sections.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
8 of 8 people found the following review helpful By Robert Hanmer on November 22, 2000
Format: Paperback
This is the book that the pattern community has been waiting for! The one source of pointers and intents for all the patterns that have been published about software and selected other topics. In order to locate a pattern, or even know it existed before this book you would have had to have studied all the various pattern books and websites, ranging from the Gang of Four (Gamma, Helm, Johnson & Vlissides) to the latest PLoP proceedings. This book makes it possible to identify a problem that you have (such as dealing with queues), turn to the index to look up that topic (12 different patterns related to queues are indexed, as well as citations of several collections of patterns), and then turn to the cited pages to determine if the patterns might be useful to you in solving your current problem.
The value of this book is not that it restates all the patterns, it is in its ability to index the patterns so that they can be found. I think it does an admirable job of this. To achieve this Linda Rising has tackled the monumental job of documenting the intents of all these patterns. For those patterns that I'm familiar with she's done a great job capturing the intent.
This book won't make the reader an expert on the use of any pattern, but will contribute to their ability to create better software.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
8 of 8 people found the following review helpful By C. Jaensch on July 26, 2000
Format: Paperback
Considering that one of the hard parts of applying patterns is finding initially the right one for the problem at hand, this is an excellent catalog to support one in this task. Certainly, it's not a book to start learning about patterns. But after one has done the required homework (reading the GoF and POSA book) it's an excellent place to start hunting for additional patterns. I especially love the multiple indices.
I missed two things. I would have liked to see a better context desciption for each pattern and I missed a few patterns that I consider useful. Among those are the recently published "SanFrancisco Design Patterns", although Pattern purists may possibly argue whether the latter already qualify as patterns by the "rule of three".
In any case, a very good (4 1/2 stars) addition to ones desktop!
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
5 of 5 people found the following review helpful By Amazon Customer on April 3, 2001
Format: Paperback
Somewhere along the line, AWL decided to release the GOF book as a CD, entitled "Design Patterns CD". I personally found the cross-linking of patterns via hypertext to be extremely valuable, and "The Pattern Almanac 2000" cries out for the same treatment. Frequently while reading/scanning this text I found myself wishing that each pattern was linked to its on-line source (where available), or that I could connect to related patterns or documents regarding experience with their use.
This book is, as others have pointed out, an index. Having this in softcopy would provide another dimension of use that would markedly increase its value.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
4 of 4 people found the following review helpful By Shailesh Sonavadekar on October 31, 2001
Format: Paperback
Patterns. The current vocabulary of the high end designers and software architects. There are very few universities offering the M.S. courses on this subject; the future language of the software industry. Eric Gamma et al. started this revolution in 1995. It seems that there is no end to it.
The author herself has significant experience in the area of Patterns. The book, as its name suggests, is indeed a very good almanac of patterns.

The author has taken truly a lot of pains to collect patterns from varous industries & put them in book form. Many of the patterns I have not heard of. That is one of the greatest strengths of the book; it gives you a bird's eye view of all the patterns used in various industries.
Another thing I liked about the book, the author mentions relationships with other patterns, though not with details.

The layout of the book was not as appealing & the index takes many pages. The patterns should have been accompained by urls. Some url's are given. But, not all. But the effort is really herculean & the author has done a great job to put it in book form.
Please note that the book is not for beginners. It is for users who know & use patterns & want to know more about other patterns. I hope the author will come up with more patterns in the near future.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
2 of 2 people found the following review helpful By Charles Ashbacher HALL OF FAMETOP 500 REVIEWERVINE VOICE on March 5, 2003
Format: Paperback
As a body of literature expands, it reaches the point where collections of detailed explanations become too large and unwieldy to be examined efficiently. When this occurs, it is very helpful for people to collect and organize the descriptions of the features, so that practitioners can quickly look up the general descriptions. That is what Linda Rising has done with software patterns.
Each pattern entry in the almanac has the basic information:
* Pattern name
* Category list of where it is used
* Source citation
* URL if applicable
* What it is designed to do
* Related patterns
* An experience report citation if applicable
Most of the descriptions take up less than a third of a page, so the author has erred on the side of brevity. This was the proper approach, as this is a reference book of brief explanations designed to serve as a primer and a collection of pointers to more detailed information.
The good, brief descriptions aside, the real quality of books of this type is measured by the ease of discovery when you conduct a search. The different levels of indexing and the ease with which you can understand them is where one book rises above another. The opening list organizes the patterns alphabetically according to category, the index at the end is approximately one-third of the book and nineteen pages of bibliography are included in the middle. That makes it easy to find a pattern, whether you know it by name or by usage.
This is a reference book that you will make use of if you are serious about applying the advantages that software patterns can provide. Neat and well organized, you should be able to find any of the patterns in a matter of seconds, even with minimum knowledge.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again

Most Recent Customer Reviews

Want to discover more products? Check out these pages to see more: software engineering, software development, object oriented