Pattern | To | Towards | Away |
Adapter | Extract Adapter (258), Unify Interfaces with Adapter (247) | Unify Interfaces with Adapter (247) | |
Builder | Encapsulate Composite with Builder (96) | | |
Collecting Parameter | Move Accumulation to Collecting Parameter (313) | | |
Command | Replace Conditional Dispatcher with Command (191) | Replace Conditional Dispatcher with Command (191) | |
Composed Method | Compose Method (123) | | |
Composite | Replace One/Many Distinctions with Composite (224), Extract Composite (214), Replace Implicit Tree with Composite (178) | | Encapsulate Composite with Builder (96) |
Creation Method | Replace Constructors with Creation Methods (57) | | |
Decorator | Move Embellishment to Decorator (144) | Move Embellishment to Decorator (144) | |
Factory | Move Creation Knowledge to Factory (68), Encapsulate Classes with Factory (80) | | |
Factory Method | Introduce Polymorphic Creation with Factory Method (88) | | |
Interpreter | Replace Implicit Language with Interpreter (269) | | |
Iterator | | | Move Accumulation to Visitor (320) |
Null Object | Introduce Null Object (301) | | |
Observer | Replace Hard-Coded Notifications with Observer (236) | Replace Hard-Coded Notifications with Observer (236) | |
Singleton | Limit Instantiation with Singleton (296) | | Inline Singleton (114) |
State | Replace State-Altering Conditionals with State (166) | Replace State-Altering Conditionals with State (166) | |
Strategy | Replace Conditional Logic with Strategy (129) | Replace Conditional Logic with Strategy (129) | |
Template Method | Form Template Method (205) | | |
Visitor | Move Accumulation to Visitor (320) | Move Accumulation to Visitor (320) | |