软件构造ADT复习

本文探讨了抽象工厂(AF)的概念,强调其映射特性,指出满射但非单射的可能性。同时,解释了表示独立性(RI)在验证表示合法性中的作用,以及规格说明(Spec)的前后置条件。checkRep方法用于确保对象的内部表示符合RI。测试方面,着重于创建者、生产者、修改者以及观察者的测试策略。博客还提及表示泄露问题,提倡使用防御性拷贝和不可变集合来保护数据。
摘要由CSDN通过智能技术生成

AF: 从抽象空间到现实空间的映射,满射但不一定是单射。

RI: 表示独立性,可以理解为rep需要满足的条件,即某个具体的“表示”是否是“合法的”。

Spec: 说明函数的作用,和限制条件,分为pre-condition和post-condition,前置条件更弱或后置条件更强使spec变得更强

checkRep: 按照写的RI来检查rep是否合法,一般在Creator,producer,mutator后检查。

表示泄露:所有变量都要用private类型,返回值若可能暴露rep,使用防御式拷贝或者collection.unmodifiable...

 测试ADT的方法:

    (1)测试creators,producers和mutators:调用observers来观察这些operations的结

            果是否满足spec;

    (2)测试observers:调用creators,produces和mutators等方法产生或改变对象,来

            看结果是否正确。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值