Home/Learn/Solid Principles
Topic

Solid Principles

Learn Solid Principles as a connected topic across chapters, concepts, simulations, and interview reasoning.

10 Concepts7 Articles1h 53m

Overview

Learn Solid Principles as a connected topic across chapters, concepts, simulations, and interview reasoning.

How this topic helps

Java
Clean Code
Software Engineering
Architecture

Learning Path in this Topic

Series that contain articles from Solid Principles. Select a path to filter the article list.

Articles

7 matched articles

Article 1Understanding KISS, YAGNI, and DRY: Key Software Development PrinciplesTLDR TLDR: KISS (Keep It Simple), YAGNI (You Aren't Gonna Need It), and DRY (Don't Repeat Yourself) are the three most universally applicable software engineering mantras. They share a common enemy: 15 minArticle 2Simplifying Code with the Single Responsibility PrincipleTLDR TLDR: The Single Responsibility Principle says a class should have only one reason to change. If a change in DB schema AND a change in email format both require you to edit the same class, that 11 minArticle 3LLD for Elevator System: Designing a Smart LiftTLDR TLDR: An elevator system is a textbook OOP design exercise: ElevatorCar encapsulates its stop queue, ElevatorState polymorphically handles direction changes (State Pattern), and DispatchStrategy22 minArticle 4Interface Segregation Principle: No Fat InterfacesTLDR TLDR: The Interface Segregation Principle (ISP) states that clients should not be forced to depend on methods they don't use. Split large "fat" interfaces into smaller, role-specific ones. A Rob14 minArticle 5How the Open/Closed Principle Enhances Software DevelopmentTLDR TLDR: The Open/Closed Principle (OCP) states software entities should be open for extension (add new behavior) but closed for modification (don't touch existing, tested code). This prevents new 13 minArticle 6Dependency Inversion Principle: Decoupling Your CodeTLDR TLDR: The Dependency Inversion Principle (DIP) states that high-level business logic should depend on abstractions (interfaces), not on concrete implementations (MySQL, SendGrid, etc.). This let13 min

Page 1 of 2