Design Principle #3: Program to Interfaces, Not ImplementationsThis naturally follows Composition Over Inheritance because composition becomes truly powerful when we depend on interfaces instead of concrete classes. Let's understand with our previous example of UJun 9, 2026·2 min read
Design Principle #2: Composition Over InheritanceBuilding flexible. maintainable and reusable systemsJun 9, 2026·3 min read
Design Principle #1: Coupling and Cohesion — The Foundation of Good Software DesignA good design generally aims for low coupling and high cohesion.Jun 8, 2026·3 min read
My Journey of Learning Low Level Design the Hard WayMaybe you will understand the correct way to solve the problem by making a mistake?Mar 14, 2026·6 min read
System Design - All about Caching - Part 2Understanding Different Levels of Caching in System ArchitectureDec 14, 2025·5 min read·9
Segment Tree: Handling Large Constraints with Coordinate CompressionExplore Salary Queries in CSES Problem Set Using Segment Trees for Range QueriesOct 13, 2025·11 min read·9