Lección 3: LSP y contratos de comportamiento
Cambiaste una implementación por otra y el sistema se cayó, aunque el compilador estaba perfectamente satisfecho. Por ejemplo: un PreviewExporter que parece un Exporter en todo, pero lanza una excepción justo con las listas grandes que usa producción. Esta lección enseña el principio de sustitución
LSP es como las pilas de repuesto: toda pila AA debe funcionar en cualquier aparato hecho para AA. Una pila que entra en el compartimento pero quema el control remoto rompió la promesa.
- principio de sustitución de Liskov (LSP)
- Todo subtipo debe funcionar en cualquier lugar donde se espere su tipo base, sin sorpresas para quien llama.
- contrato de comportamiento
- Las promesas de un método más allá de su firma: qué entradas son válidas, qué garantiza la salida y qué errores pueden ocurrir.