软件构造3-3笔记
3.3 抽象数据类型(ADT)
笔记:
summary
- 抽象数据类型的特征是它们的操作
- 操作可以分为构造器(Creator)、生产器(Producer)、观察器(Observer)、变值器(Matutor)
- ADT的规范是它的一组操作和它们的规约
- 一个好的ADT是简单的、连贯的、适当的、独立的表示
- ADT的测试方法是为了每个操作生成测试,但是在相同的测试中使用构造器,生产器,观察器,变值器。
- Safe from bugs :好的ADT为数据类型提供定义良好的契约,这样客户端就知道从数据类型期望什么,开发者也有定义良好的自由来改变。
- Easy to understand:好的ADT将其实现隐藏在一组简单的操作之后,因此使用ADT的程序员只需要了解操作,而不需要了解实现的细节。
- Ready for change:表示独立性允许抽象数据类型的实现在不需要从其客户端进行更改的情况下进行更改
- 对于ADT的对象实例,在其对象的生存期中,不变式始终为真的属性。
- 好的ADT保持它自己的不变量。不变量必须由构造器和生产器创建,并由观察器和变值器保存。
- rep不变量指定表示的合法值,应该在运行时使用checkRep()进行检查。
- 抽象函数将具体表示映射到它所表示的抽象值。
- 表示泄露威胁着表示独立性和不变量保持。