Principio de Sustitución de Liskov: El Significado Real de la Herencia
Este artículo profundiza en el Principio de Sustitución de Liskov (LSP), un principio SOLID a menudo mal entendido. Utilizando el problema clásico rectángulo-cuadrado, ilustra violaciones comunes del LSP: subtipos que no sustituyen completamente los tipos base. El autor aboga por el uso de composición e interfaces en lugar de herencia para evitar violaciones del LSP, proporcionando un ejemplo práctico con el procesamiento de pagos. Se describen las violaciones comunes del LSP, como lanzar excepciones inesperadas y devolver resultados inconsistentes con el tipo base, junto con cómo asegurar el cumplimiento del LSP mediante pruebas de contrato y pre/postcondiciones claras. En definitiva, el artículo enfatiza que el LSP es más que herencia: se trata de compatibilidad conductual y cumplimiento de expectativas. Seguir el LSP conduce a un código más confiable y mantenible.