Principios SOLID en Programación Orientada a Objetos
¿Qué es SOLID?
SOLID es un conjunto de 5 principios que ayudan a escribir código más limpio,
mantenible y escalable.
Los principios son:
Los principios son:
- S — Single Responsibility Principle
- O — Open/Closed Principle
- L — Liskov Substitution Principle
- I — Interface Segregation Principle
- D — Dependency Inversion Principle
S — Principio de Responsabilidad Única
Una clase debe tener una sola razón para cambiar.
Ejemplo: ❌ Una clase que guarda datos y también imprime reportes. ✔️ Separar responsabilidades en clases distintas.
Ejemplo: ❌ Una clase que guarda datos y también imprime reportes. ✔️ Separar responsabilidades en clases distintas.
O — Principio Abierto/Cerrado
Una clase debe estar:
- Abierta a extensión
- Cerrada a modificación
L — Principio de Sustitución de Liskov
Una clase hija debe poder sustituir a su clase padre sin romper el programa.
Si
Si
Perro hereda de Animal, debe comportarse como un Animal.
I — Principio de Segregación de Interfaces
Es mejor tener muchas interfaces pequeñas que una grande.
Evita obligar a las clases a implementar métodos que no necesitan.
Evita obligar a las clases a implementar métodos que no necesitan.
D — Principio de Inversión de Dependencias
Las clases deben depender de abstracciones, no de implementaciones concretas.
Esto permite cambiar componentes sin romper el sistema.
Esto permite cambiar componentes sin romper el sistema.
Ejemplo simple de SOLID en Python
# Ejemplo del principio S (Responsabilidad Única)
class Reporte:
def generar(self):
return "Datos del reporte"
class ReportePrinter:
def imprimir(self, reporte):
print(reporte.generar())
printer = ReportePrinter()
printer.imprimir(Reporte())