System Design
SOLID Principles
1. Single Responsibility Principle (SRP)
// CarService.java
@Service
public class CarService {
public boolean isCarAvailable(String carId) {
// Check if the car is available for rent
return true; // Assume car is available
}
}
// RentalService.java
@Service
public class RentalService {
private final CarService carService;
public RentalService(CarService carService) {
this.carService = carService;
}
public void rentCar(String carId, String userId) {
if (carService.isCarAvailable(carId)) {
// Logic to rent the car
System.out.println("Car rented successfully.");
} else {
System.out.println("Car not available.");
}
}
}2. Open/Closed Principle (OCP)
3. Liskov Substitution Principle (LSP)
4. Interface Segregation Principle (ISP)
5. Dependency Inversion Principle (DIP)
Summary Table
SOLID Principle
Car Rental Service Example
Last updated