Intermediate

Low-Level Design

Classes, interfaces and the reasons for them.

SOLID as decisions, the design patterns a backend actually uses, modelling a domain in Java, and the classic LLD exercises — parking lot, rate limiter, cache, notification system — done with tests.

3 lessons written3 outlined1 modules~1h reading

After this course you can

  • Apply SOLID to a real class and explain the trade-off each principle makes
  • Use strategy, factory, builder, observer and state where they fit and nowhere else
  • Design a domain model that expresses its invariants

Curriculum

6 lessons · outlined lessons show their plan