UML and Object-Oriented Design

  1. Design Patterns in UML
    1. Introduction to Design Patterns
      1. Definition and Purpose
        1. Pattern Elements
          1. Pattern Name
            1. Problem Description
              1. Solution Structure
                1. Consequences
                2. Pattern Categories
                  1. Benefits of Using Patterns
                    1. Pattern Selection Criteria
                    2. Creational Patterns
                      1. Singleton
                        1. Intent and Problem
                          1. Structure and Participants
                            1. UML Class Diagram
                              1. Implementation Considerations
                                1. Consequences
                                2. Factory Method
                                  1. Intent and Problem
                                    1. Structure and Participants
                                      1. UML Class Diagram
                                        1. Implementation Variations
                                          1. Consequences
                                          2. Abstract Factory
                                            1. Intent and Problem
                                              1. Structure and Participants
                                                1. UML Class Diagram
                                                  1. Product Families
                                                    1. Consequences
                                                    2. Builder
                                                      1. Intent and Problem
                                                        1. Structure and Participants
                                                          1. UML Class Diagram
                                                            1. Director and Builder Roles
                                                              1. Consequences
                                                              2. Prototype
                                                                1. Intent and Problem
                                                                  1. Structure and Participants
                                                                    1. UML Class Diagram
                                                                      1. Cloning Mechanisms
                                                                        1. Consequences
                                                                      2. Structural Patterns
                                                                        1. Adapter
                                                                          1. Intent and Problem
                                                                            1. Structure and Participants
                                                                              1. UML Class Diagram
                                                                                1. Object vs. Class Adapter
                                                                                  1. Consequences
                                                                                  2. Bridge
                                                                                    1. Intent and Problem
                                                                                      1. Structure and Participants
                                                                                        1. UML Class Diagram
                                                                                          1. Abstraction and Implementation
                                                                                            1. Consequences
                                                                                            2. Composite
                                                                                              1. Intent and Problem
                                                                                                1. Structure and Participants
                                                                                                  1. UML Class Diagram
                                                                                                    1. Tree Structures
                                                                                                      1. Consequences
                                                                                                      2. Decorator
                                                                                                        1. Intent and Problem
                                                                                                          1. Structure and Participants
                                                                                                            1. UML Class Diagram
                                                                                                              1. Dynamic Behavior Addition
                                                                                                                1. Consequences
                                                                                                                2. Facade
                                                                                                                  1. Intent and Problem
                                                                                                                    1. Structure and Participants
                                                                                                                      1. UML Class Diagram
                                                                                                                        1. Subsystem Simplification
                                                                                                                          1. Consequences
                                                                                                                          2. Flyweight
                                                                                                                            1. Intent and Problem
                                                                                                                              1. Structure and Participants
                                                                                                                                1. UML Class Diagram
                                                                                                                                  1. Intrinsic vs. Extrinsic State
                                                                                                                                    1. Consequences
                                                                                                                                    2. Proxy
                                                                                                                                      1. Intent and Problem
                                                                                                                                        1. Structure and Participants
                                                                                                                                          1. UML Class Diagram
                                                                                                                                            1. Proxy Types
                                                                                                                                              1. Consequences
                                                                                                                                            2. Behavioral Patterns
                                                                                                                                              1. Chain of Responsibility
                                                                                                                                                1. Intent and Problem
                                                                                                                                                  1. Structure and Participants
                                                                                                                                                    1. UML Class Diagram
                                                                                                                                                      1. Handler Chain
                                                                                                                                                        1. Consequences
                                                                                                                                                        2. Command
                                                                                                                                                          1. Intent and Problem
                                                                                                                                                            1. Structure and Participants
                                                                                                                                                              1. UML Class Diagram
                                                                                                                                                                1. Request Encapsulation
                                                                                                                                                                  1. Consequences
                                                                                                                                                                  2. Iterator
                                                                                                                                                                    1. Intent and Problem
                                                                                                                                                                      1. Structure and Participants
                                                                                                                                                                        1. UML Class Diagram
                                                                                                                                                                          1. Traversal Algorithms
                                                                                                                                                                            1. Consequences
                                                                                                                                                                            2. Mediator
                                                                                                                                                                              1. Intent and Problem
                                                                                                                                                                                1. Structure and Participants
                                                                                                                                                                                  1. UML Class Diagram
                                                                                                                                                                                    1. Colleague Communication
                                                                                                                                                                                      1. Consequences
                                                                                                                                                                                      2. Memento
                                                                                                                                                                                        1. Intent and Problem
                                                                                                                                                                                          1. Structure and Participants
                                                                                                                                                                                            1. UML Class Diagram
                                                                                                                                                                                              1. State Capture and Restoration
                                                                                                                                                                                                1. Consequences
                                                                                                                                                                                                2. Observer
                                                                                                                                                                                                  1. Intent and Problem
                                                                                                                                                                                                    1. Structure and Participants
                                                                                                                                                                                                      1. UML Class Diagram
                                                                                                                                                                                                        1. Subject-Observer Relationship
                                                                                                                                                                                                          1. Consequences
                                                                                                                                                                                                          2. State
                                                                                                                                                                                                            1. Intent and Problem
                                                                                                                                                                                                              1. Structure and Participants
                                                                                                                                                                                                                1. UML Class Diagram
                                                                                                                                                                                                                  1. State-Dependent Behavior
                                                                                                                                                                                                                    1. Consequences
                                                                                                                                                                                                                    2. Strategy
                                                                                                                                                                                                                      1. Intent and Problem
                                                                                                                                                                                                                        1. Structure and Participants
                                                                                                                                                                                                                          1. UML Class Diagram
                                                                                                                                                                                                                            1. Algorithm Families
                                                                                                                                                                                                                              1. Consequences
                                                                                                                                                                                                                              2. Template Method
                                                                                                                                                                                                                                1. Intent and Problem
                                                                                                                                                                                                                                  1. Structure and Participants
                                                                                                                                                                                                                                    1. UML Class Diagram
                                                                                                                                                                                                                                      1. Algorithm Skeleton
                                                                                                                                                                                                                                        1. Consequences
                                                                                                                                                                                                                                        2. Visitor
                                                                                                                                                                                                                                          1. Intent and Problem
                                                                                                                                                                                                                                            1. Structure and Participants
                                                                                                                                                                                                                                              1. UML Class Diagram
                                                                                                                                                                                                                                                1. Double Dispatch
                                                                                                                                                                                                                                                  1. Consequences