抽象类型的运算
创建者将创建新对象,我们可以将其视为构造函数;
生产者从该类型的旧对象创建新对象;
观察者将给出抽象类型的情况;
变异器会改变对象,这是唯一的改变对象的操作。
在考试中,可能会要求我们区分这些操作;创作者与生产者相似,但如果我们将创作者视为建构者,则差异可能很明显。
Rep不变和抽象函数
抽象函数是从表示值到抽象值的映射,而Rep Invariant表示哪个表示值有效(具有映射值)。
实际上,Rep Invariant总是描述哪个表示无效,并且在程序执行期间该状态应始终为true。抽象函数描述了表示的实际含义,这就是客户端如何看待程序的。
我认为这是定义的绝佳实例。
建立不变式
证明不变量的三个关键:
没有代表曝光发生; 没有其他人可以改变他们的想法。
由创作者和制作人建立; 创建新对象时保持不变;
由变异者和观察者保存; 更改对象时保持不变;