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

前言

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

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

一 Liskov替换原则

1 Liskov的解释

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

二 依赖倒置原则

1 依赖倒置原则的解释

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

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

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

三 接口隔离原则

1 接口隔离原则的解释

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

四 小结

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

你可能感兴趣的:(敏捷设计-LSP && DIP && ISP原则)