Design-Principles

11 articles
YAGNI Principle - You Aren't Gonna Need It A software development principle from Extreme Programming stating that functionality should not be added until …SOLID Principles Five foundational object-oriented design principles that promote maintainable, flexible, and understandable …Single Responsibility Principle (SRP) A SOLID design principle stating that a class should have only one reason to change, meaning it should …Open-Closed Principle (OCP) A SOLID design principle stating that software entities should be open for extension but closed for …Liskov Substitution Principle (LSP) A SOLID design principle stating that objects of a supertype should be replaceable with objects of a subtype …Law of Demeter A design guideline for developing software, particularly object-oriented programs, that promotes loose …KISS Principle - Keep It Simple A design principle stating that systems work best when they are kept simple rather than made complex, favoring …Interface Segregation Principle (ISP) A SOLID design principle stating that no client should be forced to depend on methods it does not use, …DRY Principle - Don't Repeat Yourself A software development principle stating that every piece of knowledge must have a single, unambiguous, …Dependency Inversion Principle (DIP) A SOLID design principle stating that high-level modules should not depend on low-level modules, and both …Composition Over Inheritance A design principle that favors object composition over class inheritance for code reuse, resulting in more …