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