/Design-Patterns

Low Level Design template

Primary LanguageJava

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 🔥

Pattern 1: Singleton Pattern 🔒

  1. Lazy Implementation View Code
  2. Synchronized Implementation View Code
  3. Eager Implementation View Code

Pattern 2: Decorator Pattern 🎨

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

Pattern 3: Factory Method Pattern 🏭

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

Pattern 4: Command Pattern ⚡

  1. Headfirst Design Book Example View Code
  2. Newsletter Example View Code

Pattern 5: Observer Pattern 🔍

  1. Headfirst Design Book Example View Code
    1. Inefficient Implementation View Code
    2. Atual Implementation View Code
    3. Java In Built Implementation View Code
  2. Newsletter Example View Code

Pattern 6: Strategy Pattern 🔱

  1. Newsletter Example View Code

Pattern 7: Facade Pattern ⛅

  1. Newsletter Example View Code