Middle
Tell us about the principles of SOLID
sobes.tech AI
Answer from AI
SOLID principles are five fundamental principles of object-oriented programming that help create flexible, extendable, and maintainable code:
- S (Single Responsibility Principle) — A class should have only one reason to change, meaning it should perform a single specific 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 than a single general one.
- D (Dependency Inversion Principle) — High-level modules should not depend on low-level modules; both should depend on abstractions.
Example in Java for the Single Responsibility Principle:
class ReportGenerator {
public String generateReport() {
// report generation logic
}
}
class ReportPrinter {
public void print(String report) {
// report printing logic
}
}
Here, report generation and printing are separated into different classes, each responsible for its own task.