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

来源:互联网 发布:怎样申请淘宝企业店铺 编辑:程序博客网 时间:2024/06/18 16:38

前言

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

作用

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

目的

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

范例

public final class CloseUtils{private CloseUtils(){}//关闭Closeable对象 @param closeablepublic 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