设计原则--接口隔离原则

接口隔离原则,这个原则最关键就是理解其中“接口”的含义,不同的理解方式,对应的在原则上也有不同的解读方式。除此之外,接口隔离原则和单一职责原则有些类似,需要了解它们的区别和联系

 

接口隔离原则,英文名Iterface Segregation Principle,简称ISP。客户端不应强迫它不需要的接口。这里的客户端可以理解为调用者或者使用者。

 

对于这个原则,最重要的是理解“接口”的含义,这里有三种不同的理解

如果把“接口”理解为一组接口的集合,可以是某个微服务的接口,也可以是某个类库的接口等。如果部分接口只被部分调用者使用,我们需要将着部分接口隔离出来,单独给这部分调用者使用,而不是强迫其它调用者也依赖这部分不会被调用的接口。

如果把“接口”理解为单个API接口或者函数,部分调用者只需要调用函数的部分功能,那我们需要把函数拆分成粒度更细的多个函数,让调用者只依赖它需要的那个细粒度函数。

如果把“接口”理解为OOP中的接口。也可以理解为面向对象中的接口语法。那接口的设计要尽量单一,不要让接口的实现类和调用者,依赖不需要的接口函数。

 

接口隔离原则与单一职责原则的区别?

单一职责原则针对的是模块、类、接口的设计。接口隔离原则相对于单一职责原则,一方面更侧重于接口的设计,另一方面它思考的角度也是不同的。接口隔离原则提供了一种判断接口的职责是否单一的标准;通过调用者如何使用接口来间接的判定。如果调用者使用部分接口或者部分功能,那接口的设计职责不够单一

 

参考:设计模式之美--王争

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值