什么是国家空间?

时间:2010-10-15 23:38:31

标签: api terminology api-design

我正在观看这个讲座(http://www.youtube.com/watch?v=aAb7hSCtvGw&hl=nl),在大约34分钟时,提到幻灯片上的一个要点,说明“文档状态空间非常小心”。

什么是国家空间?为什么我要“非常小心”地记录它?不幸的是,我现在发布的机器上没有声音,但幻灯片本身对我的学习非常有用(声音会更有帮助。)

由于

2 个答案:

答案 0 :(得分:4)

状态空间是一组可能的状态,在这种情况下是一个对象。

在音频中,他基本上说你需要记录在哪些状态下允许哪些操作,以及是否有任何操作改变了对象的状态(这将改变允许的操作集)。他提到这对可变物体尤为重要。

他使用Java中的日期和日历作为API的示例,这是一个问题,但没有详细说明。

为了给出具体(但简化)的示例,请考虑TCP连接。这基本上有两个状态,开放或封闭。当它关闭时,你不能通过它发送或接收任何东西,因此不允许调用这些方法。

答案 1 :(得分:1)

解释说话者说的话,如果对象是可变的,你需要记录状态空间。然后,他引用了Java的日期和日历API,在这个意义上被严格记录。

我猜他的意思是你需要记录任何可以修改代码状态的函数。此外,当调用这些功能是一个好(或坏)的时候。例如,在对象为read()之后调用closed()函数。