Enter your mobile number below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
Getting the download link through email is temporarily not available. Please check back later.

  • Apple
  • Android
  • Windows Phone
  • Android

To get the free app, enter your mobile phone number.

Buy Used
+ $3.99 shipping
Used: Acceptable | Details
Condition: Used: Acceptable
Comment: Free State Books. Never settle for less.
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

3.1 out of 5 stars 12 customer reviews

See all formats and editions Hide other formats and editions
New from Used from
"Please retry"
$68.32 $12.41

Windows 10 For Dummies Video Training
Get up to speed with Windows 10 with this video training course from For Dummies. Learn more.
click to open popover

Editorial Reviews

Amazon.com 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


New York Times best sellers
Browse the New York Times best sellers in popular categories like Fiction, Nonfiction, Picture Books and more. See more

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.1 out of 5 stars  See all reviews (12 customer reviews)
  • Amazon Best Sellers Rank: #837,247 in Books (See Top 100 in Books)

Customer Reviews

Top Customer Reviews

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 16 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
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 8 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
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 8 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
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 5 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
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 4 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Paperback
Having worked my way through a good proportion of the famous 'Design Patterns' book I'm always on the lookout for a simpler introductory book that I can recommend to people new to the subject. In many ways this book fulfills that rôle.
It is a comprehensive catalogue of pretty much every important pattern published. It includes lots of reference material and a wealth of information on where to find more information. Its weakness is that it includes so many patterns. There is quite a lot of duplication (or, alternatively, variations on a theme) and the quest to include everything means that there is only a limited amount of information about any particular pattern. Additionally, there seems to be little discrimination between what I would describe as 'important patterns' (such as Factories or Composites) and trivial ones (such as the oft quoted 'George Washington is dead').
Patterns were first developed by people working in the language smalltalk. They have since outgrown their origins but seem reluctant to let go. As a result you'll find a disproportionate number of examples worked out in that language. Although not insurmountable, it is still a barrier that will hinder the majority of programmers. Fewer examples are also worked out in other, more common, languages such as Java and C++. Since no single language is right for all programmers, I'd have liked to have seen more emphasis on the UML diagrams.
Overall, this is a useful reference work to have available in the office though not an essential one for your bookshelf.
Comment 6 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse