Saurav's Low Level Design Template 💻 🚀

The repository holds the implementation of Design Patterns in Java. Feel free to fork the repo and use it for understanding, modifying and trying out the implementation in real time.

Design Patterns implemented 🔥

Singleton Pattern 🔒

  1. Lazy Implementation 🔗
  2. Synchronized Implementation 🔗
  3. Eager Implementation 🔗

Decorator Pattern 🎨

  1. Alternate Implementation 🔗
  2. Headfirst Design Book Example 🔗
  3. Newsletter Example 🔗
    1. Class Explosion Implementation 🔗
    2. Alternate Implementation (violates Open-Closed principle) 🔗
    3. Effective Implementation (Decorator Pattern) 🔗

Factory Method Pattern 🏭

  1. Headfirst Design Book Example 🔗
    1. Inefficient Implementation 🔗
    2. Simple Factory Pattern 🔗
    3. Factory Method Pattern 🔗
  2. Newsletter Example 🔗
    1. Inefficient Implementation 🔗
    2. Simple Factory Pattern 🔗
    3. Factory Method Pattern 🔗

Command Pattern

  1. Headfirst Design Book Example 🔗
  2. Newsletter Example 🔗

Observer Pattern

  1. Headfirst Design Book Example 🔗
    1. Inefficient Implementation 🔗
    2. Atual Implementation 🔗
    3. Java In Built Implementation 🔗