哈工大软件构造复习之Specification

Specification

作用

  1. 规约可以隔离"变化",无需通知客户端
  2. 规约可以提高代码效率
  3. 规约扮演"防火墙"角色
  4. 解耦,不需要了解具体实现

内容

只讲"能做什么",而不讲"怎么实现"

Behavior equivalence 行为等价性

是否可以相互替换

  1. 站在客户端的视角看行为等价性,不同的行为,对用户来说(根据用户需求)可能等价!
  2. 根据规约判断行为等价,两个方法符合同一个规约,则等价

规约的结构

  1. Pre-condition
  2. Post-condition
  3. Exceptional behavior 异常行为,如果违背了前置条件,会发生什么

规约的强度与替换

Spec变强:更放松的前置条件(前置条件更弱)+更严格的后置条件(后置条件你更强),

两条件同时变强或变弱则无法比较。

若规约强度S2>=S1,则可以用S2替换S1。

deterministic spec & undetermined spec 确定的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值