Glossary: Software Design Patterns in JavaScript
Liskov substitution principle (LSP)
Also written: LSP, Liskov substitution
The L of SOLID: a child class must work anywhere its parent works. LockedCard breaks it because its topUp throws, so a loop over gift cards fails.