如果您点进这篇文章,应该是知道了RI的定义。以防万一,我在这里简单叙述一下RI,所谓RI就是一个类里面的属性所需要满足的条件,只有满足这些条件才是合法的rep,RI写在注释里。
我们可以清楚一个类的RI如何去写,比如:
class book{
// RI:
// name!=null
// pages>=0
private String name;
private int pages;
}
但是如果两个类存在依赖呢?如:
class person{
//books表示书的集合
private Set<book> books = new HashSet<>();
}
person类中有一个book的集合,那么person类的RI应该怎么写呢?
我参考了我们老师给的代码的RI:
如图,records是Record类的集合,在RI的最后一行和倒数第二行,要求了对每一个Record类的规定,但是是通过了Observer方法来规定的。
所以,如果两个类之间有依赖,我们最好通过另一个类的 Observer方法来实现RI的规定,不要暴露另一个类的私有属性。