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:
  • 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.

O — Principio Abierto/Cerrado

Una clase debe estar:
  • Abierta a extensión
  • Cerrada a modificación
Es decir, puedes añadir funcionalidades sin tocar el código existente.

L — Principio de Sustitución de Liskov

Una clase hija debe poder sustituir a su clase padre sin romper el programa.

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.

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.

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())
Inicio
Ir al blog de Daniel