Android设计模式——里氏替换原则

来源:互联网 发布:linux mysql登录命令 编辑:程序博客网 时间:2024/04/30 09:14

里氏替换原则

里氏替换原则的全称是:Liskov Substitution Principle (LSP)

  • 第一种定义:如果对每一个类型为S的对象O1,都有类型为T的对象O2,使得以T定义的所有程序P在所有的对象O1都代换成O2时,程序P的行为没有发生变化,那么类型S是类型T的子类型。
  • 第二定义:所有引用基类的地方必须能透明地使用其子类的对象。所有引用基类的地方必须能透明地使用其子类的对象。
  • 通俗解释:只要父类能出现的地方子类就可以出现,而且替换为子类也不会产生任何错误一场。

示例

  • 在介绍开闭原则时写的ImageLoader的示例中:
    • MemoryCache、DiskCache、DoubleCache 都可以替换ImageCache,用户可以在使用时指定具体的缓存对象就可以动态替换ImageLoader中的缓存策略。这就使得ImageLoader的缓存系统可拓展性增强。
0 0