https://codewitharyan.com/system-design/low-level-design
πΉ Must-Know: Singleton, Factory, Builder, Strategy, Observer, Adapter, Proxy, Decorator, Composite, Flyweight, Template Method, Command, Chain of Responsibility.
πΉ Nice-to-Know (But Rarely Asked): Memento, State, Visitor, Mediator, Interpreter, Bridge.
β SOLID Principles (Single Responsibility, Open-Closed, Liskov, Interface Segregation, Dependency Injection)
β DRY (Donβt Repeat Yourself) & KISS (Keep It Simple, Stupid)
β Composition over Inheritance
β Encapsulation, Polymorphism, Abstraction, and Inheritance
β Refactor a badly written codebase to follow SOLID principles.
β Implement Dependency Injection in Java using Spring Boot.
β Singleton β Global shared instance (Thread-Safe Singleton, Enum Singleton, Lazy vs Eager Initialization)
β Factory Method β Encapsulating Object Creation (Factory Pattern, Abstract Factory)
β Builder β Step-by-step object construction (Immutable Objects, Fluent Interface)