(随记五)Android设计模式解析与实战_面对对象六大原则之接口隔离原则
来源:互联网 发布:win7网络设置新功能 编辑:程序博客网 时间:2024/05/22 03:37
(随记五)Android设计模式解析与实战_面对对象六大原则之接口隔离原则 :
- 系统有更高的灵活性
- 定义 :
- 客户端不需要不应该依赖他不需要的接口
- 类间的依赖应该建立在最小的接口上.
- 原则 : 将非常庞大的、臃肿的接口拆分成更小和更具体的接口,这样使用者将只需要知道他感兴趣的方法
- 目的 : 系统解开耦合,更容易重构、更改和重新部署。
- 说白了就是 : 让类依赖的接口尽可能的小、功能单一
代码
/** * 将Bitmap写入文件 * * @param url * @param bitmap */@Overridepublic void put(String url, Bitmap bitmap) { FileOutputStream fileOutputStream = null; try { fileOutputStream = new FileOutputStream(cacheDir + url); bitmap.compress(Bitmap.CompressFormat.PNG, 100, fileOutputStream); } catch (FileNotFoundException e) { e.printStackTrace(); } finally { CloseUtils.closeQuietly(fileOutputStream); }}
-closeQuietly方法可以运用到各类可关闭的对象中,保证了代码的重用性。CloseUtils的closeQuily方法的基本原理就是依赖于Closeable抽象而不是具体实现,并且建立在最小化依赖原则的基础上,它只需要知道这个对象是可关闭的
package com.yt.ImageLoader;import java.io.Closeable;import java.io.IOException;/** * author : YiTao * Created by TaoyYi on 2016/12/16. * describe : 关闭流; */public class CloseUtils { private CloseUtils() { } public static void closeQuietly(Closeable closeable) { if (null != closeable ) { try { closeable.close(); } catch (IOException e) { e.printStackTrace(); } } }}
1 0
- (随记五)Android设计模式解析与实战_面对对象六大原则之接口隔离原则
- (随记二)Android设计模式解析与实战_面对对象六大原则之开闭原则
- (随记六)Android设计模式解析与实战_面对对象六大原则之加米特原则
- (随记一)Android设计模式解析与实战_面对对象六大原则之单一职责原则
- (随记三)Android设计模式解析与实战_面对对象六大原则之里式替换原则
- (随记四)Android设计模式解析与实战_面对对象六大原则之依赖倒置原则
- [设计模式之禅读书笔记]004_设计模式六大原则(四):接口隔离原则
- 设计模式六大原则:接口隔离原则
- 设计模式六大原则:接口隔离原则
- 设计模式六大原则----------接口隔离原则
- 设计模式六大原则-接口隔离原则
- 设计模式六大原则之--接口隔离原则(ISP)
- 设计模式六大原则之--接口隔离原则(ISP)
- 设计模式六大原则之四:接口隔离原则
- 设计模式六大原则之接口隔离原则
- 设计模式六大原则之----接口隔离原则
- 六大设计原则之接口隔离原则
- 设计六大原则之接口隔离原则
- 在一个浏览器中访问网页的完整流程逻辑过程
- 简介量化金融中使用的时间序列模型(一)
- (随记四)Android设计模式解析与实战_面对对象六大原则之依赖倒置原则
- Linux服务器重装和web环境搭建
- mips 和 mipsel 的区别
- (随记五)Android设计模式解析与实战_面对对象六大原则之接口隔离原则
- Android 自定义控件之测量(onMeasure)初步
- Unity中Start和Awake方法的区别
- 世界上最完美的公式 ----欧拉公式
- Windows小知识(关联文件打开类型,快捷键,命令行语句执行原理,快速编辑模式)
- Python单例模式的4种实现方法
- sqlite3_get_table()函数
- eclipse启动tomcat出现内存溢出错误 java.lang.OutOfMemoryError: PermGen space
- POJ 1222 EXTENDED LIGHTS OUT 已翻译