Pattern Languages of Program Design 3 (v. 3)
The third book in a series,Pattern Languages of Program Design 3discusses how to catalog software patterns, which are reusable, higher-order designs. This volume presents over two dozen white papers on newly "discovered" patterns within a wide variety of contexts. The editors have grouped these patterns by topic so you can choose what interests you. Each pattern profile features a short introduction to show you what each pattern might be good for."General purpose" design patterns include the Null Object, the Manager, and the Product Trader patterns, and another section improves on the Visitor pattern. These patterns allow classes to borrow the methods of other classes without using inheritance. Some of the most challenging patterns in this book are good for distributed processing, including Acceptor and Connector and Object Recovery. Basic research in object-oriented design (OOD) is apparent in the Serializer pattern, which implements persistence for objects, another unusually difficult aspect of object design to get right. Another useful section introduces "domain specific" patterns--or patterns that solve particular real-world problems--with several patterns for transportation systems and fire alarms.The book closes with more esoteric explorations of patterns for developers, including patterns for effectively designing in teams and using software testing patterns. Judging from the rich selection of the ordinary and the bizarre, there seems to be no end in sight for the business of discovering patterns. For those interested in expanding their collection of patterns, this volume offers a fascinating array of new specimens.