The fourth volume in a series of books documenting patterns for professional software developers, Pattern Languages of Program Design 4 represents the state-of-the-art practices in the patterns community. The 29 chapters of this book were each presented at recent PLoP conferences and have been explored and enhanced by leading experts in attendance. Representing the best of the conferences, these patterns provide effective, tested, and versatile software design solutions for solving real-world problems in a variety of domains.
This book covers a wide range of topics, with patterns in the areas of object-oriented infrastructure,
programming strategies, temporal patterns, security, domain-oriented patterns,
human-computer interaction, reviewing, and software management.
Among them, you will find:
• The Role object
• Proactor
• C++ idioms
• Architectural patterns for security
• Reports
• Composing multimedia artifacts
• Customer interaction
As patterns evolve beyond the realm of research into the world of practical software development, more and more developers are discovering that reusable design patterns (such as those contained in this volume) can help them achieve faster, more cost-effective delivery of their applications.
The patterns presented are grouped into: Basic Object-Oriented Patterns Object-Oriented Infrastructure Patterns Programming Strategies Time Security Domain-Oriented Patterns Patterns of Human-Computer Interaction Reviewing Managing Software
A pattern system provides, on one level, a pool of proven solutions to many recurring design problems. On another it shows how to combine individual patterns into heterogeneous structures and as such it can be used to facilitate a constructive development of software systems.
Uniquely, the patterns that are presented in this book span several levels of abstraction, from high-level architectural frameworks and medium-level design patterns to low-level idioms.
The intention of, and motivation for, this book is to support both novices and experts in software development. Novices will gain from the experience inherent in pattern descriptions and experts will hopefully make use of, add to, extend and modify patterns to tailor them to their own needs. None of the pattern descriptions are cast in stone and, just as they are borne from experience, it is expected that further use will feed in and refine individual patterns and produce an evolving system of patterns.