The Liskov Substitution Principle does more than you think
17 hours ago
- 里氏替换原则(LSP)不仅仅是继承的规则;它适用于任何函数或代码的替换,包括版本更新。
- LSP要求子类型的方法具有比超类型更弱或相等的先决条件以及更强或相等的后置条件。
- 该原则还包括满足超类型的状态不变性和历史属性。
- 在修改API时,弱化先决条件或强化后置条件是安全的,而相反操作可能会破坏现有代码。
- 海拉姆法则警告说,系统的任何可观察行为都可能被依赖,因此明确的后置条件对于维护兼容性至关重要。