Revisiting Design Patterns After 20
summary
Classic GoF patterns get concrete modernization: prefer composition, small interfaces and reuse JDK functional types instead of inventing interfaces; examples show use Runnable not Command, replace template methods with Function strategies, and enum singletons avoid serialization issues. Demos use Java 8+ features—Function, Consumer, Optional, method references, streams, enums, sealed classes and pattern matching—to simplify Strategy, Chain of Responsibility, Interpreter and Visitor alternatives. A working reverse‑Polish interpreter and streaming notifier chain run in the demo code, which is on GitHub at yanaga/revisiting-design-patterns.
AI-written summary · about
chapters (9)
- 0:00Introduction and principles
- 6:25Command and observer
- 8:47Strategy pattern
- 14:50Template methods
- 19:34Singleton pattern
- 21:03Interpreter pattern
- 33:31Chain of responsibility
- 41:09Visitor pattern
- 52:18Specification and conclusion
related talks
45mRevisiting Design Patterns after 20
01h 03mJava Design Patterns 2022
52mThe modern view on implementation of design patterns (RU)
55mThe modern view on implementation of classic design patterns in Java
57mDesign Patterns in Dynamic and Functional Languages
02h 41mDesign Patterns Revisited in Modern Java
01h 06mJava EE Revisits GoF Design Patterns
01h 40mDesign Patterns: Examples in C++
