Sobes.tech
Junior — Middle

Explain the meaning of each letter in the SOLID principles used in object-oriented programming.

sobes.tech AI

Answer from AI

The SOLID principles are five fundamental rules of object-oriented programming that help create flexible and maintainable code:

  • S (Single Responsibility Principle) — A class should have only one reason to change, meaning it should be responsible for a single task.

  • O (Open/Closed Principle) — Software entities should be open for extension but closed for modification.

  • L (Liskov Substitution Principle) — Subtypes must be substitutable for their base types without altering the correctness of the program.

  • I (Interface Segregation Principle) — Clients should not depend on interfaces they do not use; it's better to have several specific interfaces.

  • D (Dependency Inversion Principle) — High-level modules should not depend on low-level modules; both should depend on abstractions.

An example in Python demonstrating SRP:

class ReportGenerator:
    def generate(self):
        # Generate report
        pass

class ReportPrinter:
    def print(self, report):
        # Print report
        pass

Here, report generation and printing are separated into different classes, each with a single responsibility.