Module 10
Design Patterns & SOLID
SOLID and the classic design patterns in idiomatic Java, including the patterns hiding in the JDK.
By the end of this module you can
- Apply each SOLID principle with a concrete refactor
- Implement and compare the core design patterns
SOLID principles
Each principle with before-and-after code.
- The Java LLD rulebookFree
- Single responsibilityFreeSoon
- Open/closedPremiumSoon
- Liskov substitutionPremiumSoon
- Interface segregationPremiumSoon
- Dependency inversionPremiumSoon
- SOLID principles: interview questions & scenariosPremiumSoon
Creational patterns
Creating objects the right way.
- Thread-safe singletonFreeSoon
- Factory methodPremiumSoon
- Abstract factoryPremiumSoon
- BuilderPremiumSoon
- PrototypePremiumSoon
- Creational patterns: interview questions & scenariosPremiumSoon
Structural patterns
Composing classes and objects.
- AdapterPremiumSoon
- DecoratorPremiumSoon
- ProxyPremiumSoon
- CompositePremiumSoon
- FacadePremiumSoon
- Structural patterns: interview questions & scenariosPremiumSoon
Behavioural patterns
Communication between objects.
- StrategyFreeSoon
- ObserverPremiumSoon
- CommandPremiumSoon
- Template methodPremiumSoon
- Chain of responsibilityPremiumSoon
- StatePremiumSoon
- Behavioural patterns: interview questions & scenariosPremiumSoon
Patterns in practice
Patterns in the JDK and anti-patterns to avoid.
- Design patterns in the JDKPremiumSoon
- Anti-patternsPremiumSoon
- Patterns in practice: interview questions & scenariosPremiumSoon
Module interview question bank
Finish the module
Module interview question bankEvery interview question worth practising for Design Patterns & SOLID, grouped by topic, with model answers, how to say them and what-if follow-ups.