-
SINGLE RESPONSIBILITY (SRP):
- Libro: solo maneja datos del libro
- Usuario: solo maneja datos del usuario
- Prestamo: solo maneja datos del préstamo
-
OPEN/CLOSED (OCP):
- CalculadoraMulta es extensible (podemos agregar MultaVIP)
- Sin modificar el código existente
-
LISKOV SUBSTITUTION (LSP):
- NotificadorEmail y NotificadorSMS pueden intercambiarse
- Ambos cumplen el contrato de Notificador
-
INTERFACE SEGREGATION (ISP):
- Interfaces pequeñas y específicas
- Cada clase implementa solo lo que necesita
-
DEPENDENCY INVERSION (DIP):
- GestorPrestamos depende de abstracciones
- No de implementaciones concretas
- Fácil intercambiar comportamientos
- Instalar Rust
- cargo run