Principe de substitution de Liskov : le vrai sens de l'héritage

2025-01-22
Principe de substitution de Liskov : le vrai sens de l'héritage

Cet article explore en profondeur le principe de substitution de Liskov (LSP), un principe SOLID souvent mal compris. En utilisant l'exemple classique du rectangle-carré, il illustre les violations courantes du LSP : les sous-types ne remplacent pas entièrement les types de base. L'auteur préconise l'utilisation de la composition et des interfaces plutôt que l'héritage pour éviter les violations du LSP, en fournissant un exemple pratique avec le traitement des paiements. Les violations courantes du LSP, telles que le lancement d'exceptions inattendues et le retour de résultats incohérents avec le type de base, sont décrites, ainsi que la manière de garantir la conformité au LSP grâce à des tests de contrat et des pré/post-conditions claires. En fin de compte, l'article souligne que le LSP va au-delà de l'héritage : il s'agit de compatibilité comportementale et de respect des attentes. Le respect du LSP conduit à un code plus fiable et plus maintenable.