R:可以理解为所有可能出现的值。A:用户可见值。
RI:合法的可以出现的值,是R的子集。 AF:是R向A中映射的函数关系
比如对于要进行时间处理,时间值得表达有多种多样,可以是差五分九点,也可以是8:55,程序不一定可以识别所有的值,这就需要程序处理合法表达就足够了。
而可见值A就是用户需要的值,如果这个程序用户需要知道某时间是上午还是下午的话,那么A部分的值就是上午或下午。
AF就相当于8:55是上午的映射关系
对于编程人员来说,R, RI, A中的值都是可见的
对于用户(client)来说,只能看到和使用A部分的值
如果程序运行想要不出现错误,则每次程序处理的值要满足RI,那么程序员常常会写checkRep检查输入值是否满足RI,来保证不变量不变。