书中的术语" Scala中的FP" :"我们可以将API的对象视为黑盒子"

时间:2014-10-15 07:10:15

标签: scala functional-programming terminology

FP in Scala一书中,“我们可以将API的对象视为黑盒子”这一短语的含义是什么? (图中用红色突出显示并标有红色问号)?

API的对象是什么? (编辑:我似乎无法在书中找到这个术语“API的对象”的定义,至少在前113页中没有找到,我相信作者也不会在面向对象的意义上引用对象。)< / p>

在这种情况下,对象的定义是什么?

这些物体在什么意义上可以成为黑盒子?

关于什么的黑盒子?

隐藏什么,如何,为什么?

封装什么,如何,为什么?

enter image description here

1 个答案:

答案 0 :(得分:3)

  

API的对象是什么?

您的API公开曝光的任何内容

  

在这种情况下,对象的定义是什么?

见上文。这是一种非正式的方式来引用您公开的API。

  

这些物体在什么意义上可以成为黑盒子?

从某种意义上说,你不关心他们的内部。实现明确地与界面分离,因此您在使用API​​时需要知道的是他们的合同,即给定一组输入的预期输出是什么。

  

关于什么的黑盒子?

关于它们之外的任何内容的黑盒子,例如使用它们的代码

  

隐藏什么,如何,为什么?

他们通过遵守已知合同来隐藏他们的内部(即他们的实施)。为什么?因为这允许模块化,这带来了很大的好处,例如代码重用,可维护性和简单性。

  

封装什么,如何,为什么?

这与以前的问题相同。封装意味着分离不同的组件并将它们的接口与其内部构件分离。关于什么,如何以及为什么,见上文。