敏捷设计-LSP && DIP && ISP原则

前言

上次阅读学习敏捷设计原则中的单一职责原则(SRP)和开放-封闭原则(OCP)原则,这周的阅读任务是学习

Liskov 替换原则,依赖倒置原则,接口隔离原则。

一 Liskov替换原则

1 Liskov的解释

子类型必须能够替换掉它们的基类型。毫无疑问,在用子类传入到调用父类的方法时候,不能导致这个方法出现错误。如果出现错误,便需要检查子类和父类之间的设计是否合理,是否这两者之间需要存在继承的关系,是不是可以从两者之间提取公共部分作为这两者的共同父类。

二 依赖倒置原则

1 依赖倒置原则的解释

a)高层模块不应该依赖于低层模块。二者都应该依赖于抽象。

b)抽象不应该依赖于细节。细节应该依赖于抽象。

在层次化的设计架构中,高层模块调用低层模块,当底层模块发生改动,高层模块也得作相应的改变。解决办法是每个较高层次都为它所需要的服务声明一个抽象接口,较低的层次实现了这些抽象接口,每个高层类都通过该抽象接口使用下一层。

三 接口隔离原则

1 接口隔离原则的解释

不应该强迫客户依赖于它们不用的方法。当一个接口有两组方法被两个客户使用,而且客户之间使用的方法没有重叠,则需要把这个接口拆分,不应该合在一起。

四 小结

这三个原则在工作中一不小心就会违反了。仍然需要找一些例子来加深印象。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 面向对象的3个基本要素: 封装、继承、多态 面向对象的5个基本设计原则: 单一职责原则(Single-Respos...
    badcyc阅读 1,001评论 0赞 4
  • 转载标注声明:http://www.uml.org.cn/sjms/201211023.asp 目录:[设计模式六...
    Bloo_m阅读 829评论 0赞 7
  • 设计模式6大原则 转自:http://www.cnblogs.com/devinzhang/archive/201...
    犀利的小眼神阅读 526评论 0赞 1
  • 单一职责原则 (SRP) 全称 SRP , Single Responsibility Principle 单一职...
    米莉_L阅读 1,904评论 2赞 5
  • 1、还是有关于爱情,我一直都深信的是一个人、一辈子。从一开始,娶你就是这一辈子的理想。可我却从来未想过其中的艰辛以...
    沙漏时光阅读 571评论 0赞 0

友情链接更多精彩内容