Design Patterns: Elements of Reusable Object-Oriented Software
430
[WGM88]
Andr
é
Weinand, Erich Gamma, and Rudolf Marty.ET++
—
An object-oriented
application framework in C++. In
Object-Oriented Programming Systems,
Languages, and ApplicationsConference Proceedings
, pages 46
–
57, San Diego,
CA,September 1988. ACM Press.
Design Patterns: Elements of Reusable Object-Oriented Software
431
Design pattern relationships
Document Outline - Contents
- Preface to CD
- Preface to Book
- 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
- Finding Appropriate Objects
- Determining Object Granularity
- Specifying Object Interfaces
- Specifying Object Implementations
- Putting Reuse Mechanisms to Work
- Designing for Change
- How to Select a Design Pattern
- How to Use a Design Pattern
- 2. A Case Study: Design a Document Editor
- Design Problems
- Document Structure
- Recursive Composition
- Glyphs
- Composite Pattern
- Formatting
- Encapsulating the Formatting Algorithm
- Compositor and Composition
- Strategy Pattern
- Embellishing the User Interface
- Transparent Enclosure
- Monoglyph
- Decorator Pattern
- Supporting Multiple Look-and-Feel Standards
- Abstracting Object Creation
- Factories and Product Classes
- Abstract Factory Pattern
- Supporting Multiple Window Systems
- Can We Use an Abstract Factory?
- Encapsulating Implementation Dependencies
- Window and WindowImp
- WindowImp Subclasses
- Configuring Windows with WindowImps
- Bridge Pattern
- User Operations
- Encapsulating a Request
- Command Class and Subclasses
- Undoability
- Command History
- Command Pattern
- Spelling Checking and Hyphenation
- Accessing Scattered Information
- Encapsulating Access and Traversal
- Iterator Class and Subclasses
- Iterator Pattern
- Traversal versus Traversal Actions
- Encapsulating the Analysis
- Visitor Class and Subclasses
- Visitor Pattern
- Summary
- 3. Creational Patterns
- Abstract Factory
- Intent
- Also Known As
- Motivation
- Applicability
- Structure
- Participants
- Collaborations
- Consequences
- Implementation
- Sample Code
- Known Uses
- Related Patterns
- Builder
- Intent
- Motivation
- Applicability
- Structure
- Participants
- Collaborations
- Consequences
- Implementation
- Sample Code
- Known Uses
- Related Patterns
- Factory Method
- Intent
- Also Known As
- Motivation
- Applicability
- Structure
- Participants
- Collaborations
- Consequences
- Implementation
- Sample Code
- Known Uses
- Related Patterns
- Prototype
- Intent
- Motivation
- Applicability
- Structure
- Participants
- Collaborations
- Consequences
- Implementation
- Sample Code
- Known Uses
- Related Patterns
- Singleton
- Intent
- Motivation
- Applicability
- Structure
- Participants
- Collaborations
- Consequences
- Implementation
- Sample Code
- Known Uses
- Related Patterns
- Discussion of Creational Patterns
- 4. Structural Patterns
- Adapter
- Intent
- Also Known As
- Motivation
- Applicability
- Structure
- Participants
- Collaborations
- Consequences
- Implementation
- Sample Code
- Known Uses
- Related Patterns
- Bridge
- Intent
- Also Known As
- Motivation
- Applicability
- Structure
- Participants
- Collaborations
- Consequences
- Implementation
- Sample Code
- Known Uses
- Related Patterns
- Composite
- Intent
- Motivation
- Applicability
- Structure
- Participants
- Collaborations
- Consequences
- Implementation
- Sample Code
- Known Uses
- Related Patterns
- Decorator
- Intent
- Also Known As
- Motivation
- Applicability
- Structure
- Participants
- Collaborations
- Consequences
- Implementation
- Sample Code
- Known Uses
- Related Patterns
- Facade
- Intent
- Motivation
- Applicability
- Structure
- Participants
- Collaborations
- Consequences
- Implementation
- Sample Code
- Known Uses
- Related Patterns
- Flyweight
- Intent
- Motivation
- Applicability
- Structure
- Participants
- Collaborations
- Consequences
- Implementation
- Sample Code
- Known Uses
- Related Patterns
- Proxy
- Intent
- Also Known As
- Motivation
- Applicability
- Structure
- Participants
- Collaborations
- Consequences
- Implementation
- Sample Code
- Known Uses
- Related Patterns
- Discussion of Structural Patterns
- Adapter versus Bridge
- Composite versus Decorator versus Proxy
- 5. Behavioral Patterns
- Chain of Responsibility
- Intent
- Motivation
- Applicability
- Structure
- Participants
- Collaborations
- Consequences
- Implementation
- Sample Code
- Known Uses
- Related Patterns
- Command
- Intent
- Also Known As
- Motivation
- Applicability
- Structure
- Participants
- Collaborations
- Consequences
- Implementation
- Sample Code
- Known Uses
- Related Patterns
- Interpreter
- Intent
- Motivation
- Applicability
- Structure
- Participants
- Collaborations
- Consequences
- Implementation
- Sample Code
- Known Uses
- Related Patterns
- Iterator
- Intent
- Also Known As
- Motivation
- Applicability
- Structure
- Participants
- Collaborations
- Consequences
- Implementation
- Sample Code
- Known Uses
- Related Patterns
- Mediator
- Intent
- Motivation
- Applicability
- Structure
- Participants
- Collaborations
- Consequences
- Implementation
- Sample Code
- Known Uses
- Related Patterns
- Memento
- Intent
- Also Known As
- Motivation
- Applicability
- Structure
- Participants
- Collaborations
- Consequences
- Implementation
- Sample Code
- Known Uses
- Related Patterns
- Observer
- Intent
- Also Known As
- Motivation
- Applicability
- Structure
- Participants
- Collaborations
- Consequences
- Implementation
- Sample Code
- Known Uses
- Related Patterns
- State
- Intent
- Also Known As
- Motivation
- Applicability
- Structure
- Participants
- Collaborations
- Consequences
- Implementation
- Sample Code
- Known Uses
- Related Patterns
- Strategy
- Intent
- Also Known As
- Motivation
- Applicability
- Structure
- Participants
- Collaborations
- Consequences
- Implementation
- Sample Code
- Known Uses
- Related Patterns
- Template Method
- Intent
- Motivation
- Applicability
- Structure
- Participants
- Collaborations
- Consequences
- Implementation
- Sample Code
- Known Uses
- Related Patterns
- Visitor
- Intent
- Motivation
- Applicability
- Structure
- Participants
- Collaborations
- Consequences
- Implementation
- Sample Code
- Known Uses
- Related Patterns
- Discussion of Behavioral Patterns
- Encapsulating Variation
- Objects as Arguments
- Should Communication be Encapsulated or
- Distributed?
- Decoupling Senders and Receivers
- Summary
- 6. Conclusion
- What to Expect from Design Patterns
- A Common Design Vocabulary
- A Documentation and Learning Aid
- An Adjunct to Existing Methods
- A Target for Refactoring
- A Brief History
- The Pattern Community
- Alexander's Pattern Languages
- Patterns in Software
- An Invitation
- A Parting Thought
- Appendix A: Glossary
- Appendix B: Guide to Notation
- Class Diagram
- Object Diagram
- Interaction Diagram
- Appendix C: Foundation Classes
- List
- Construction, Destruction, Initialization, and Assignment
- Accessing
- Adding
- Removing
- Stack Interface
- Iterator
- ListIterator
- Point
- Rect
- Bibliography
Do'stlaringiz bilan baham: |