Design Patterns: Elements of Reusable Object-Oriented Software


Table of Contents

Preface

Foreword

Guide to Readers

1. Introduction
What Is a Design Pattern? * Design Patterns in Smalltalk MVC * Describing Design Patterns * The Catalog of Design Patterns * Organizing the Catalog * How Design Patterns Solve Design Problems * How to Select a Design Pattern * How to Use a Design Pattern

2. A Case Study: Designing a Document Editor
Design Problems * Document Structure * Formatting * Embellishing the User Interface * Supporting Multiple Look-and-Feel Standards * Supporting Multiple Window Systems * User Operations * Spelling Che cking and Hyphenation * Summary

Design Pattern Catalog

3. Creational Patterns
Abstract Factory * Builder * Factory Method * Prototype * Singleton * Discussion of Creational Patterns

4. Structural Pattern
Adapter * Bridge * Composite * Decorator * Facade * Flyweight * Proxy * Discussion of Structural Patterns

5. Behavioral Patterns
Chain of Responsibility * Command * Interpreter * Iterator * Mediator * Memento * Observer * State * Strategy * Template Method * Visitor * Discussion of Behavioral Patterns

6. Conclusion
What to Expect from Design Patterns * A Brief History * The Pattern Community * An Invitation * A Parting Thought

Appendix A. Glossary

Appendix B. Guide to Notation
Class Diagram * Object Diagram * Interaction Diagram

Appendix C. Foundation Classes
List * Iterator * ListIterator * Point * Rect

Bibliography

Index


Back to Design Patterns
Back to Patterns Home Page