—Course Overview
1m 35s
Behavioral Design Patterns Introduction
- 3m 50s
—Introduction
0m 36s
—Why Learn Patterns?
1m 0s
—Pattern Classifications
0m 27s
—Which Patterns?
0m 28s
—How Do We Learn Them?
0m 39s
—Prerequisites
0m 20s
—Next
0m 17s
Chain of Responsibility Pattern
- 16m 9s
—Introduction
0m 21s
—Concepts
1m 33s
—Design Considerations
0m 47s
—UML Diagram
0m 49s
—Example: Logging
0m 34s
—Demo: Logging
1m 52s
—Exercise - Chain of Responsibility
0m 25s
—Demo: Approver
6m 7s
—Pitfalls
1m 1s
—Contrast to Other Patterns
1m 35s
—Summary
1m 1s
—Introduction
0m 18s
—Concepts
1m 23s
—Design Considerations
1m 27s
—UML Diagram
0m 44s
—Example: Runnable
0m 29s
—Demo: Runnable
1m 43s
—Exercise - Command
0m 26s
—Demo: Switch
6m 5s
—Demo: State
3m 59s
—Demo: Macro
8m 44s
—Pitfalls
0m 57s
—Contrast to Other Patterns
0m 56s
—Summary
0m 46s
Interpreter Pattern
- 19m 16s
—Introduction
0m 23s
—Concepts
1m 25s
—Design Considerations
0m 59s
—UML Diagram
0m 54s
—Example: Pattern
0m 26s
—Demo: Pattern
1m 54s
—Exercise - Interpreter
0m 40s
—Demo: Interpreter
9m 4s
—Pitfalls
1m 11s
—Contrast to Other Patterns
1m 24s
—Summary
0m 50s
Iterator Pattern
- 22m 23s
—Introduction
0m 15s
—Concepts
1m 37s
—Design Considerations
1m 9s
—UML Diagram
0m 56s
—Example: List
0m 27s
—Demo: List
4m 55s
—Exercise - Iterator
0m 33s
—Demo: Iterator
7m 37s
—Pitfalls
1m 39s
—Contrast to Other Patterns
2m 17s
—Summary
0m 54s
Mediator Pattern
- 14m 53s
—Introduction
0m 19s
—Concepts
0m 55s
—Design Considerations
0m 47s
—UML Diagram
0m 34s
—Example: Timer
0m 19s
—Demo: Timer
1m 40s
—Exercise - Mediator
0m 30s
—Demo: Mediator
7m 6s
—Pitfalls
1m 0s
—Contrast to Other Patterns
0m 56s
—Summary
0m 44s
Memento Pattern
- 18m 35s
—Introduction
0m 14s
—Concepts
1m 5s
—Design Considerations
1m 6s
—UML Diagram
0m 49s
—Example: Serializable
0m 18s
—Demo: Serializable
2m 45s
—Exercise - Memento
0m 31s
—Demo: Memento
9m 7s
—Pitfalls
0m 47s
—Contrast to Other Patterns
1m 0s
—Summary
0m 48s
Observer Pattern
- 22m 25s
—Introduction
0m 18s
—Concepts
1m 20s
—Design Considerations
0m 50s
—UML Diagram
1m 14s
—Example: Util
0m 27s
—Demo: Util
2m 50s
—Exercise - Observer
0m 34s
—Demo: Observer
11m 18s
—Pitfalls
1m 10s
—Contrast to Other Patterns
1m 12s
—Summary
1m 7s
—Introduction
0m 15s
—Concepts
1m 15s
—Design Considerations
1m 17s
—UML Diagram
0m 54s
—Example: if/else
0m 49s
—Demo: if/else
3m 25s
—Exercise - State
0m 40s
—Demo: State
16m 21s
—Pitfalls
0m 57s
—Contrast to Other Patterns
1m 5s
—Summary
1m 6s
Strategy Pattern
- 24m 19s
—Introduction
0m 19s
—Concepts
0m 58s
—Design Considerations
0m 51s
—UML Diagram
0m 36s
—Example: Comparator
0m 23s
—Demo: Comparator
4m 55s
—Exercise - Strategy
0m 21s
—Demo: Strategy
12m 42s
—Pitfalls
0m 47s
—Contrast to Other Patterns
1m 28s
—Summary
0m 55s
Template Method Pattern
- 19m 21s
—Introduction
0m 21s
—Concepts
1m 19s
—Design Considerations
0m 34s
—UML Diagram
0m 40s
—Example: Collections.sort
0m 40s
—Demo: Comparable
3m 51s
—Exercise - Template Method
0m 25s
—Demo: Template Method
8m 42s
—Pitfalls
0m 55s
—Contrast to Other Patterns
1m 5s
—Summary
0m 44s
Visitor Pattern
- 21m 40s
—Introduction
0m 17s
—Concepts
1m 8s
—Design Considerations
0m 46s
—UML Diagram
1m 1s
—Example: API
0m 18s
—Demo: Visitor
0m 22s
—Demo: Without Visitor
5m 12s
—Demo: Shipping Visitor
8m 14s
—Demo: Display Visitor
2m 4s
—Pitfalls
0m 43s
—Contrast to Other Patterns
0m 43s
—Summary
0m 46s
—What Next?
1m 12s