solid-principles
S – Single Responsibility Principle (SRP)
class ReportPrinter {
void print(Report report) { /* printing logic */ }
}
class ReportSaver {
void save(Report report) { /* saving logic */ }
}O – Open/Closed Principle (OCP)
interface Discount {
double apply(double price);
}
class ChristmasDiscount implements Discount {
public double apply(double price) { return price * 0.8; }
}L – Liskov Substitution Principle (LSP)
I – Interface Segregation Principle (ISP)
D – Dependency Inversion Principle (DIP)
Last updated