android 源码设计模式解析与实战 读书笔记 1 面向对象的六大原则
来源:互联网 发布:阿里云是什么意思 编辑:程序博客网 时间:2024/06/03 17:46
六大原则包括单一职责原则,开闭原则,里氏替换原则,依赖倒置原则,接口隔离原则,迪米特原则。
- 单一职责原则:一个类中应该是一组相关性很高的函数,数据的封装。举例:将ImageLoader中抽取ImageCache分别管理。
- 开闭原则:软件中的对象(类,模块,函数等)应该对于扩展是开放的,但是,对于修改是封闭的。而遵循开闭原则的重要手段应该是通过抽象。当软件需要变化时,应该尽量通过扩展的方式来实现变化,而不是通过修改已有的代码实现。举例:将ImageCache抽象化,提供对图片的获取和存储操作,在分别创建每一种缓存机制来分别实现它,来达到实现功能扩展。
- 里氏替换原则:所有引用基类的地方必须能透明地使用其子类的对象。核心原理依旧是抽象。举例:任何继承View类的子类都可以设置给Window的show方法,Window将View显示到屏幕上。
- 依赖倒置原则:关键点(1)高层模块不应该依赖底层模块,两者都应该依赖其抽象。(2)抽象不应该依赖细节(3)细节应该依赖抽象。其中,抽象指接口或抽象类,细节就是具体实现类,高层模块就是调用端,低层模块就是具体实现类。Java中的表现就是:模块间的依赖通过抽象发生,实现类之间不发生直接的依赖关系,即面向抽象编程。一句话概括:依赖抽象,而不依赖具体实现。举例:在ImageLoader中,依赖ImageCache抽象,而不依赖某一个具体实现缓存机制,并有一个默认的MemoryCache实现。
- 接口隔离原则:客户端不应该依赖它不需要的接口,或是类间的依赖关系应该建立在最小的接口上。举例:利用FileOutputStream实现了Closeable接口,将FileOutputStream的关闭操作放入一个使用Closeable接口的关闭流的工具类中,这样方便了各种实现了Closeable接口的流的关闭操作。
- 迪米特原则:一个对象应该对其他对象有最少的了解。即一个类应该对自己需要耦合或调用的类知道的最少。举例:租户类中不应该依赖房间类,而只需要知道中介类,所以将与找房间的业务放入中介类,让中介类帮我们找房子。要点:只与直接的朋友通信。
0 0
- android 源码设计模式解析与实战 读书笔记 1 面向对象的六大原则
- 《Android源码设计模式解析与实战》读书笔记(一)——面向对象的六大原则
- 读Android源码设计模式解析与实战(第一章面向对象的六大原则)
- Android源码设计模式解析与实战——面向对象六大原则(一)
- 《Android源码设计模式》之面向对象的六大原则
- 《Android源码设计模式》之面向对象的六大原则
- (随记二)Android设计模式解析与实战_面对对象六大原则之开闭原则
- (随记六)Android设计模式解析与实战_面对对象六大原则之加米特原则
- 《Android源码设计模式》 面向对象六大原则
- Android设计模式-面向对象六大原则
- 面向对象的23种设计模式与六大原则
- Android设计模式-面向对象的六大原则
- Android 设计模式 笔记 - 面向对象的六大原则
- ANdroid设计模式学习(一)面向对象的六大原则
- Android 设计模式之面向对象的六大原则
- [设计模式]面向对象的六大原则
- 设计模式----面向对象的六大原则
- (随记一)Android设计模式解析与实战_面对对象六大原则之单一职责原则
- 165. Compare Version Numbers
- A*算法入门
- 如何使用JS编写一个简单的计算器
- 第二周项目:小试循环
- Make 命令教程,清晰明了
- android 源码设计模式解析与实战 读书笔记 1 面向对象的六大原则
- ARM学习笔记(一)
- IOS中UIImage与UIColor相互转化
- IPC通信的几种方式
- Apache Storm内部原理分析
- 한구어---머리를 잘라 주세요
- 第一周项目2—就拿胖子说事
- c++ 抽象工厂与工厂混合写法
- python中if __name__ == '__main__'