INTENTS AND DIAGRAMS OF 23 DESIGN PATTERNS
1: DOTV
2: PAMIB
3: SFC
*Decorator: A DECORATOR attaches additional responsibilities to a COMPONENT dynamically. DECORATORS provide a flexible alternative to subclassing for extending the COMPONENT’s functionality.
CCOR
7. Extending functionality by subclassing.
8. Inability to alter classes conveniently.
*Observer: Define a one-to-many dependency between one SUBJECT and many OBSERVERS so that when one SUBJECT changes state, all its dependent OBSERVERS are notified and updated automatically.
CCOR
CCOR
6. Tight coupling.
7. Extending functionality by subclassing.
7. Extending functionality by subclassing.
*Template Method: Define the skeleton of an algorithm in a template method of an ABSTRACT CLASS, deferring some steps to CONCRETE SUBCLASSES. Template Method lets subclassed CONCRETE CLASSES redefine certain steps of an algorithm defined in parent ABSTRACT CLASS without changing the algorithm's structure.
CCOR
5. Algorithmic dependencies.
5. Algorithmic dependencies.
Visitor: A VISITOR encapsulates operations to be performed on the ELEMENTS of an OBJECT STRUCTURE. VISITOR lets you define a new operation without changing the classes of the elements on which it operates.
CCOR:
5. Algorithmic dependencies.
8. Inability to alter classes conveniently.
8. Inability to alter classes conveniently.