HIT软件构造复习(2)

#抽象数据类型(ADT)

 #ADT操作的四种基本类型

1)Creators 构造器(从无到有)

2)Producers 生产器(从有到新)

3)Observers 观察器

4)Mutators 变值器

构造器:可能实现为构造函数或静态函数,实现为静态方法的构造器通常称为工厂方法

#Designing an Abstract Type

         #Rule of thumb 1

设计简洁,一致的操作

        #Rule of thumb 2

要足以支持client对数据所做的所有操作需要,且用操作满足client需要的难度低

#表示独立性

表示独立性:client使用ADT时无需考虑其内部如何实现,ADT内部的变化不应影响外部spec和客户端

#表示泄露

最好的方法就是使用immutable的类型,彻底避免表示泄露

#R:表示值构成的空间:实际者看到和使用的值

#A:抽象值构成的空间,client看到和使用的值

Mapping between R and A

满射,未必单射,未必双射

#AF:抽象函数,R和A之间映射关系的函数,即如何将R中的每一个值解释为A中的每一个值

#表示不变性RI,某个具体的表示是否是合法的(一个条件,描述了什么是合法的表示值)

#checkrep在所有可能改变rep的方法内都要检查

#有益的可变性:对于immutable的ADT来说,他在A空间的abstract value应是不变的,但其内部表示的R空间中的取值是可以变化的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值