`
飞翔吧
  • 浏览: 2166 次
社区版块
存档分类
最新评论

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

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

相关推荐

Global site tag (gtag.js) - Google Analytics