Composed Method | 3 |
The Essence of Composed Method | 4 |
Composition and Performance | 5 |
Composed Method: The Players | 6 |
The Importance of Storytelling | 7 |
Guidelines For Creating Composed Methods | 8 |
Composed Method Motivation | 9 |
Composed Method Objections | 10 |
Template Method | 12 |
The Essence of Template Method ← Click to Preview | 13 |
Template Method: An Example | 14 |
How Mike the Scalper Scores Tickets | 15 |
A Template Method for Scoring Tickets | 16 |
Template Method Players ← Click to Preview | 17 |
Putting Meat on the Bones | 18 |
Hackers and Customers Quiz | 19 |
Refactoring to a Template Method | 20 |
Composed Methods vs. Template Methods | 21 |
To Override Or Not To Override? | 22 |
Factory Method | 24 |
The Essence of Factory Method | 25 |
Factory Method Players | 26 |
Creation Methods and Factory Methods | 27 |
Factory Method: Fact or Fiction? | 28 |
Example Code | 29 |
The Ministry Of Software ← Click to Preview | 30 |
Factory Method: Portfolio Quiz | 31 |
Factory Method: Coupling Quiz | 32 |
Strategy | 34 |
The Essence of the Strategy Pattern | 35 |
Avoiding a Subclass Explosion | 36 |
Strategy: The Players | 37 |
Strategy: A Simple Problem | 38 |
Collaboration and Encapsulation | 39 |
Cooperation and Visibility | 40 |
Passing Data as Parameters | 41 |
Passing the Entire Context | 42 |
Internal Organs | 43 |
Pluggable Guts | 44 |
Starting Your Own Family | 45 |
Strategy: A Question of Values | 46 |
Strategy: Freedom from Choice | 47 |
Strategy: Sharing Your Strategies | 48 |
Strategy: Accommodating Variety | 49 |
Composite | 51 |
Essence of the Composite Pattern ← Click to Preview | 52 |
The One/Many Distinction | 53 |
Refactoring A One/Many Distinction | 54 |
Composite Players | 55 |
JUnit: A Classic Composite | 56 |
XML: A Natural Composite | 57 |
Know Your Composites | 58 |
Builder | 60 |
Why Do We Love Builders? | 61 |
Complicated, Repetitive and Verbose Composite Construction | 62 |
TagNode : What Needs Improvement?
|
63 |
Which TagBuilder Is Better?
|
64 |
Understanding TagBuilder
|
65 |
Building Different Products Using Identical Construction Steps | 66 |
Builder: The Players | 67 |
Decoupling Construction Logic With A Builder | 68 |
Builder Quiz | 69 |
Command | 71 |
Command Essence ← Click to Preview | 72 |
A Classic Example | 73 |
Command: The Players | 74 |
Executing and Unexecuting Commands | 75 |
Null Object | 77 |
Too Many Null Checks! | 78 |
Null Object To The Rescue! | 79 |
When Is A Null Object Unnecessary? | 80 |
Null Object Players ← Click to Preview | 81 |
Much Ado About Nothing | 82 |
Adapter | 84 |
Adapter: The Essence | 85 |
Adapter: The Players | 86 |
Adapter Example | 87 |
Two-Way Adapters | 88 |
Adapter: The Quiz | 89 |
In Need Of An Adapter ← Click to Preview | 91 |
Choosing A Preferred Interface | 92 |
Problem Source Code | 93 |
Refactoring Guidance | 94 |
Critiquing Your Performance | 95 |
Download, Build & Test Instructions | 96 |
Upload Your Exercise | 97 |
A Graph of Your Refactoring & Testing Activity | 98 |
Your Critique Results | 99 |
Your Customized Feedback | 100 |
Solution Video Step 1: Extract Interface ← Click to Preview | 101 |
Solution Video Step 2: Extract Class | 102 |
Solution Video Step 3: Move Method | 103 |
Solution Video Step 4: Implement Interface | 104 |
Solution Video Step 5: Pull Up Fields & Methods | 105 |
Solution | 106 |
Recommended Books | 108 |
Composed Method | 3 |
The Essence of Composed Method | 4 |
Composition and Performance | 5 |
Composed Method: The Players | 6 |
The Importance of Storytelling | 7 |
Guidelines For Creating Composed Methods | 8 |
Composed Method Motivation | 9 |
Composed Method Objections | 10 |
Template Method | 12 |
The Essence of Template Method ← Click to Preview | 13 |
Template Method: An Example | 14 |
How Mike the Scalper Scores Tickets | 15 |
A Template Method for Scoring Tickets | 16 |
Template Method Players ← Click to Preview | 17 |
Putting Meat on the Bones | 18 |
Hackers and Customers Quiz | 19 |
Refactoring to a Template Method | 20 |
Composed Methods vs. Template Methods | 21 |
To Override Or Not To Override? | 22 |
Factory Method | 24 |
The Essence of Factory Method | 25 |
Factory Method Players | 26 |
Creation Methods and Factory Methods | 27 |
Factory Method: Fact or Fiction? | 28 |
Example Code | 29 |
The Ministry Of Software ← Click to Preview | 30 |
Factory Method: Portfolio Quiz | 31 |
Factory Method: Coupling Quiz | 32 |
Strategy | 34 |
The Essence of the Strategy Pattern | 35 |
Avoiding a Subclass Explosion | 36 |
Strategy: The Players | 37 |
Strategy: A Simple Problem | 38 |
Collaboration and Encapsulation | 39 |
Cooperation and Visibility | 40 |
Passing Data as Parameters | 41 |
Passing the Entire Context | 42 |
Internal Organs | 43 |
Pluggable Guts | 44 |
Starting Your Own Family | 45 |
Strategy: A Question of Values | 46 |
Strategy: Freedom from Choice | 47 |
Strategy: Sharing Your Strategies | 48 |
Strategy: Accommodating Variety | 49 |
Composite | 51 |
Essence of the Composite Pattern ← Click to Preview | 52 |
The One/Many Distinction | 53 |
Refactoring A One/Many Distinction | 54 |
Composite Players | 55 |
JUnit: A Classic Composite | 56 |
XML: A Natural Composite | 57 |
Know Your Composites | 58 |
Builder | 60 |
Why Do We Love Builders? | 61 |
Complicated, Repetitive and Verbose Composite Construction | 62 |
TagNode : What Needs Improvement?
|
63 |
Which TagBuilder Is Better?
|
64 |
Understanding TagBuilder
|
65 |
Building Different Products Using Identical Construction Steps | 66 |
Builder: The Players | 67 |
Decoupling Construction Logic With A Builder | 68 |
Builder Quiz | 69 |
Command | 71 |
Command Essence ← Click to Preview | 72 |
A Classic Example | 73 |
Command: The Players | 74 |
Executing and Unexecuting Commands | 75 |
Null Object | 77 |
Too Many Null Checks! | 78 |
Null Object To The Rescue! | 79 |
When Is A Null Object Unnecessary? | 80 |
Null Object Players ← Click to Preview | 81 |
Much Ado About Nothing | 82 |
Adapter | 84 |
Adapter: The Essence | 85 |
Adapter: The Players | 86 |
Adapter Example | 87 |
Two-Way Adapters | 88 |
Adapter: The Quiz | 89 |
In Need Of An Adapter ← Click to Preview | 91 |
Choosing A Preferred Interface | 92 |
Problem Source Code | 93 |
Refactoring Guidance | 94 |
Critiquing Your Performance | 95 |
Download, Build & Test Instructions | 96 |
Upload Your Exercise | 97 |
A Graph of Your Refactoring & Testing Activity | 98 |
Your Critique Results | 99 |
Your Customized Feedback | 100 |
Solution Video Step 1: Extract Interface ← Click to Preview | 101 |
Solution Video Step 2: Extract Class | 102 |
Solution Video Step 3: Move Method | 103 |
Solution Video Step 4: Implement Interface | 104 |
Solution Video Step 5: Pull Up Fields & Methods | 105 |
Solution | 106 |
Recommended Books | 108 |