面向对象六大原则之接口隔离原则

前言

接口隔离原则英文名称是InterfaceSegregation Principles,缩写是ISP。ISP的定义是:客户端不应该依赖它不需要的接口。另一种定义是:类间的依赖关系应该建立在最小的接口上。

作用

接口隔离原则将非常庞大,臃肿的接口拆分成更小的和更具体的接口,这样客户将会只需要知道他们感兴趣的方法。

目的

接口隔离的目的是系统解开耦合,从而容易重构,更改和重新部署。

范例

public final class CloseUtils{
private CloseUtils(){}
//关闭Closeable对象 @param closeable
public static void closeQuietly(Closeable closeable){
if(null!=closeable){
try{
closeable.close();
}catch(IOException e){
e.printStackTrace();
     }
    }
  }
}

我们把这段代码运用到put方法如下所示:

public void put(String url, Bitmap bmp){
FileOutputStream fileOutputStream=null;
try{
fileOutputStream=new FileOutputStream(cacheDir+url);
bmp.compress(CompressFormat.PNG,100,fileOutputStream);
}catch(FileNotFoundException){
e.printStackTrace();
}finally{
CloseUtils.closeQuietly(fileOutputStream);
}
}

分析

CloseUtils的closeQuietly方法的基本原理就是依赖于Closeable抽象而不是具体实现,并且建立在最小化依赖原则的基础上,它只需要知道这个对象是可关闭的,其他一概不关心,这就是接口隔离原则。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值