软件构造笔记(五)
本讲介绍与specification同样重要的理论,ADT(Abstract Data Type),首先介绍了抽象类型的四种操作:Creators(构造器)、Producers(生产器)、Observers(观察器)、Mutators(变值器),但很遗憾,它们不是本讲的重点。重点是invariants(不变性)。
invariants
一个ADT需要总是保持其不变性
,想象一个不太安分守己的用户,当他获得一个变量,他当然不能因为一时兴起而使用某方式修改了这个变量。
所以这个责任理应由开发人员去担,当ADT及其方法被设计出来时,应该保证使用者在使用时不会修改,哦不,他压根就不应该看见他不该得知的属性。恰如讲义中所谈,保持不变性和避免表示泄漏,是ADT最重要的一个Invariant!