敏捷软件开发:原则、模式与实践

  1. 对于继承,is-a是关于行为的。例如,在我们看来正方形 is-a长方形,但是这个并不是行为上的is-a。正方形的行为上要求长和宽是相等的,所以设计上如果让正方形继承长方形,那正方形set长和宽的方法会修改另外一个属性,保持长和宽相等。
  2. 契约设计(Design by Contract):在继承一个类的时候,只能使用相等或更弱的前置条件替换原始前置条件,只能使用相等或者更强的后置条件来替换原始后置条件。
  3. is-a太过于宽泛而不应该作为可继承的标准,可继承的标准应该是可替换。LSP
  4. 依赖倒置的核心就是不要调用我,我会调用你,高层依赖高层,底层依赖高层
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值