本文是极客时间里王争专栏《设计模式之美》的学习笔记,你可以通过链接阅读原文获取更加详尽的描述,也可以通过该链接进行订阅和购买获取优惠。

接口隔离原则(ISP)

今天来看看SOLID中的I, 接口隔离原则。

如何理解“接口隔离原则”?

接口隔离原则(Interface Segregation Principle),缩写为ISP。其定义:

Clients should not be forced to depend upon interfaces that they do not use。

客户端不应该被强迫依赖它不需要的接口。其中的“客户端”,可以理解为接口的调用者或者使用者。

"接口"这个名词,在软件开发中,我们既可以把它看做一组抽象的约定,也可以具体指系统与系统之间的API接口,还可以特指面向对象编程语言中的接口等。

理解接口隔离原则的关键,就是理解其中的“接口”二字。在这条原则中,我们可以把“接口”理解以下三种:

  • 一组API接口集合
  • 单个API接口或函数
  • OOP中的接口概念

接下来看看,按照这三种理解方式,在不同的场景下,这条原则具体是如何解读和应用的。

Continue reading

本文是极客时间里王争专栏《设计模式之美》的学习笔记,你可以通过链接阅读原文获取更加详尽的描述,也可以通过该链接进行订阅和购买获取优惠。

里氏替换原则(LSP)

今天来看看SOLID 中的L, 里氏替换原则。

如何理解“里式替换原则”?

里式替换原则(Liskov Substitution Principle),缩写为 LSP。最早是在 1986 年由 Barbara Liskov 提出。里氏替换原则的定义:

子类对象(object of subtype/derived class)能够替换程序(program)中父类对象(object of base/parent class)出现的任何地方,并且保证原来程序的逻辑行为(behavior)不变及正确性不被破坏。

Continue reading
  • page 1 of 1
Author's picture

CaryaLiu

@Chengdu


iOS Developer


Chengdu