Pattern languages of program design

Author(s)

Bibliographic Information

Pattern languages of program design

edited by Robert C. Martin, Dirk Riehle, Frank Buschmann

(The software patterns series)

Addison-Wesley, c1998-c2006

  • 3
  • 4
  • 5

Available at  / 9 libraries

Search this Book/Journal

Note

Includes bibliographical references and index

Vol. 1-2 are published without series title

Vol. 3: PHYS:xviii, 632 p

Vol. 4: PHYS:xviii, 762 p

Vol. 4: edited by Neil Harrison, Brian Foote, Hans Rohnert

Vol. 5: PHYS:xxiv, 596 p

Vol. 5: edited by Dragos Manolescu, Markus Voelter, James Noble

Description and Table of Contents

Volume

3 ISBN 9780201310115

Description

Patterns remain one of the most important new technologies contributing to software engineering, system design, and development. All indications are that patterns will continue to grow in significance as more and more developers rely on reusable design patterns to help them achieve quick, cost-effective delivery of applications. This volume is a collection of the current best practices and trends in the patterns community. The patterns contained in this book provide effective, tested, and versatile software design solutions for developers in all domains, institutions, and organizations. The third in a series of books documenting patterns for professional software developers, this volume continues the tradition of informational excellence established by the first two volumes. Pattern Languages of Program Design 3 differs from the previous two volumes in that it includes international submissions, gathering the best papers from both PloP '96 and EuroPLoP '96. It covers a wide range of pattern-related subjects, and patterns are arranged by topic so software engineers can easily select those of greatest relevance to their needs and application domains.This book goes beyond teaching software engineers that design patterns are powerful tools to impart understanding--it shows where and when patterns are best applied. 0201310112B04062001

Table of Contents

Preface. I. GENERAL PURPOSE DESIGN PATTERNS. 1. Null Object, Bobby Woolf. 2. Manager, Peter Sommerlad. 3. Product Trader, Dirk Baumer and Dirk Riehle. 4. Type Object, Ralph Johnson and Bobby Woolf. 5. Sponsor-Selector, Eugene Wallingford. 6. Extension Object, Erich Gamma. II. VARIATIONS ON DESIGN PATTERNS. 7. Acyclic Visitor, Robert C. Martin. 8. Default and Extrinsic Visitor, Martin E. Nordberg III. 9. State Patterns, Paul Dyson and Bruce Anderson. III. ARCHITECTURAL PATTERNS. 10. Recursive Control, Bran Selic. 11. Bureaucracy, Dirk Riehle. IV. DISTRIBUTION PATTERNS. 12. Acceptor and Connector, Douglas E. Schmidt. 13. Bodyguard, Fernando Das Neves and Alejandra Garrido. 14. Asynchronous Completion Token, Irfan Pyarali, Timothy H. Harrison, and Douglas C. Schmidt. 15. Object Recovery, Antonio Rito Silva, Joao Dias Pereira, and Jose Alves Marques. 16. Patterns for Logging Diagnostic Messages, Neil B. Harrison. V. PERSISTENCE PATTERNS. 17. Serializer, Dirk Riehle, Wolf Siberski, Dirk Baumer, Daniel Megert, and Heinz Z'llighoven. 18. Accessing Relational Databases, Wolfgang Keller and Jens Coldewey. VI. USER INTERFACE PATTERNS. 19. A Pattern Language for Developing Form-Style Windows, Mark Bradac and Becky Fletcher. VII. PROGRAMMING PATTERNS. 20. Double-Checked Locking, Douglas E. Schmidt and Tim Harrison. 21. External Polymorphism, Chris Cleeland, Douglas E. Schmidt, and Tim Harrison. VIII. DOMAIN-SPECIFIC PATTERNS. 22. Business Patterns of Association Objects, Lorraine L. Boyd. 23. A Pattern Language of Transport Systems (Point and Route), Liping Zhao and Ted Foster. 24. The Points and Deviations Pattern Language of Fire Alarm, Systems Peter Molin and Lennart Ohlsson. IX. PROCESS PATTERNS. 25. The Selfish Class, Brian Foote and Joseph Yoder. 26. Patterns for Evolving Frameworks, Don Roberts and Ralph Johnson. 27. Patterns for Designing in Teams, Charles Weir. 28. Patterns for System Testing, David E. DeLano and Linda Rising. X. PATTERNS ON PATTERNS. 29. A Pattern Language for Pattern Writing, Gerard Meszaros and Jim Doble. Index. 0201310112T04062001
Volume

4 ISBN 9780201433043

Description

Design patterns have moved into the mainstream of commercial software development as a highly effective means of improving the efficiency and quality of software engineering, system design, and development. Patterns capture many of the best practices of software design, making them available to all software engineers. The fourth volume in a series of books documenting patterns for professional software developers, Pattern Languages of Program Design 4 represents the current and 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. 0201433044B04062001

Table of Contents

Preface. Introduction I. Introduction II. 1. Basic Object-Oriented Patterns. Abstract Class, Bobby Woolf. Role Object, Dirk Baumer, Dirk Riehle, Wolf Siberski and Martina Wulf. Essence, Andy Carlson. Object Recursion, Bobby Woolf. Prototype-Based Object System, James Noble. Basic Relationship Patterns, James Noble. 2. Object-Oriented Infrastructure Patterns. Abstract Session: An Object Structured Pattern, Nat Pryce. Object Synchronizer, Antonio Rito Silva, Joao Pereira and Jose Alves Marques. Proactor, Irfan Pyarali, Tim Harrison, Douglas C. Schmidt and Thomas D. Jordan. 3. Programming Strategies. C++ Idioms, James O. Coplien. Smalltalk Scaffolding Patterns, Jim Doble and Ken Auer. High-Level and Process Patterns from the Memory Preservation Society: Patterns for Managing Limited Memory, James Noble and Charles Weir. 4. Time. Temporal Patterns, Andy Carlson, Sharon Estepp and Martin Fowler. A Collection of History Patterns, Francis Anderson. 5. Security. Architectural Patterns for Enabling Application Security, Joseph Yoder and Jeffrey Barcalow. Tropyc: A Pattern Language for Cryptographic Object-Oriented Software, Alexandre Braga, Cecilia Rubira and Ricardo Dahab. 6. Domain-Oriented Patterns. Creating Reports with Query Objects, John Brant and Joseph Yoder. Feature Extraction: A Pattern for Information Retrieval, Dragos-Anton Manolescu. Finite State Machine Patterns, Sherif M. Yacoub and Hany H. Ammar. 7. Patterns of Human-Computer Interaction. Patterns for Designing Navigable Information Spaces, Gustavo Rossi, Daniel Schwabe and Fernando Lyardet. Composing Multimedia Artifacts for Reuse, Jacob L. Cybulski and Tanya Linden. Display Maintenance: A Pattern Language, Dwayne Towell. An Input and Output Pattern Language: Lessons from Telecommunications, Robert Hanmer and Greg Stymfal. 8. Reviewing. Identify the Champion: An Organizational Pattern Language for Program Committees, Oscar Nierstrasz. A Pattern Language for Writers' Workshops, James O. Coplien and Bobby Woolf. 9. Managing Software. Customer Interaction Patterns, Linda Rising. Capable, Productive, and Satisfied: Some Organizational Patterns for Protecting Productive People, Paul Taylor. SCRUM: A Pattern Language for Hyperproductive Software Development, Mike Beedle, Martine Devos, Yonat Sharon, Ken Schwaber and Jeff Sutherland. Big Ball of Mud, Brian Foote and Joseph Yoder. About the Authors Index. 0201433044T04062001
Volume

5 ISBN 9780321321947

Description

Design patterns have moved into the mainstream of professional software development as a highly effective means of improving the quality of software engineering, system design, and development, as well as the communication among the people building them. Patterns capture many of the best practices of software design, making them available to all software engineers. The fifth volume in a series of books documenting patterns for professional software developers, Pattern Languages of Program Design 5 covers current software development best practices distilled by the patterns community. The material presented in the nineteen chapters of this book distills first-rate patterns, which were workshopped at recent PLoP conferences and rigorously reviewed 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. Pattern Languages of Program Design 5 covers a wide range of topics, particularly the areas of object-oriented systems, programming techniques, temporal patterns, security, domain-oriented patterns, human-computer interaction, software management, and software patterns. Among them, you will find patterns addressing: Object-oriented systems Middleware Concurrency and resource management problems Distributed systems Mobile telephony Web-based applications Extensibility and reuse Meta-patterns As patterns continue to capture insight from many areas of practical software development, more and more developers are discovering that using patterns improves communication and helps them build better software.

Table of Contents

Acknowledgments ixPreface xiIntroduction xviiPart I: Design Patterns 1Chapter 1: Dynamic Object Model 3Chapter 2: Domain Object Manager 25Chapter 3: Encapsulated Context 45Part II: Concurrent, Network, and Real-Time Patterns 67Chapter 4: A Pattern Language for Efficient, Predictable, and Scalable Dispatching Components 69Chapter 5: "Triple-T"-A System of Patterns for Reliable Communication in Hard Real-Time Systems 89Chapter 6: Real Time and Resource Overload Language 127Part III: Distributed Systems 153Chapter 7: Decentralized Locking 155Chapter 8: The Comparand Pattern: Cheap Identity Testing Using Dedicated Values 169Chapter 9: Pattern Language for Service Discovery 189Part IV: Domain-Specific Patterns 211Chapter 10: MoRaR: A Pattern Language for Mobility and Radio Resource Management 213Chapter 11: Content Conversion and Generation on the Web: A Pattern Language 257Part V: Architecture Patterns 299Chapter 12: Patterns for Plug-ins 301Chapter 13: The Grid Architectural Pattern: Leveraging Distributed Processing Capabilities 337Chapter 14: Patterns of Component and Language Integration 357Chapter 15: Patterns for Successful Framework Development 401Part VI: Meta-Patterns 431Chapter 16: Advanced Pattern Writing 433Chapter 17: A Language Designer's Pattern Language 453Chapter 18: The Language of Shepherding 507Chapter 19: Patterns of the Prairie Houses 531About the Authors 555Index 565

by "Nielsen BookData"

Related Books: 1-1 of 1

Details

Page Top