EAFP or LBYL
2020-12-26 @cosven:
在 FeelUOwn 中,每个 provider 提供的能力,对它们进行抽象时,有两种方式
- 假设 provider 提供了我们需要的所有能力,没有的时候,报错
- 要求提供方声明自己具有哪些能力,library 调用时先判断
FeelUOwn 大部分情况选用的是方式 2,举个例子,FeelUOwn 如果知道 provider 没有 A 功能,
就可以在界面上将这个功能的按钮置位灰色。而当该这功能对界面展示影响甚微时,
会考虑使用方式 1。