摘要: 1、概念 迭代器模式提供一种方法顺序访问一个聚合对象中各个元素,而又不需暴露该对象的内部表示,属于行为模式的一种 2、模式结构 抽象迭代器(Iterator):此抽象角色定义出遍历元素所需的接口 具体迭代器(ConcreteIterator):此角色实现了Iterator接口,并保持迭代过程中的游标 阅读全文
posted @ 2018-11-21 10:59 fomin 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 引言 Android的线程池概念来自于Java的Executor,真正的线程池实现为ThreadPoolExecutor。在Android中,提供了4类不同的线程池,具体下面会说到。为什么使用线程池呢?而不是使用Thread创建线程呢?因为使用线程池有以下几个优点: 重用线程池的线程,避免因为线程的 阅读全文
posted @ 2018-11-20 17:18 fomin 阅读(863) 评论(0) 推荐(0) 编辑
摘要: 1、引言 在Android中,几乎完全采用了Java的线程机制,由于Android的特性,主线程只处理和界面相关的事情,子线程处理耗时操作。Android中扮演线程角色的有Thread、AsyncTask、IntentService和HandlerThread。对于AsyncTask来说,底层用到了 阅读全文
posted @ 2018-11-20 16:07 fomin 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 1、概念 命令模式将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可取消的操作,属于行为型模式的一种。 2、模式结构 Command类:是一个抽象类,类中对需要执行的命令进行声明,一般来说要对外公布一个execute方法用来执行命令。 Concre 阅读全文
posted @ 2018-11-20 10:54 fomin 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 1、概念 在模板模式(Template Pattern)中,一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。这种类型的设计模式属于行为型模式。 2、模式结构 抽象类(AbstractClass): 定义一组基本方法供子类实现,定义并实现 阅读全文
posted @ 2018-11-19 10:49 fomin 阅读(469) 评论(0) 推荐(0) 编辑
摘要: 1、概念 代理模式为其他对象提供一个代理以控制对这个对象的访问,属于结构性模式。从代码的角度来分,代理可以分为两种:一种是静态代理,另一种是动态代理。 静态代理就是在程序运行前就已经存在代理类的字节码文件,代理类和委托类的关系在运行前就确定了。 动态代理类的源码是在程序运行期间根据反射等机制动态的生 阅读全文
posted @ 2018-11-15 11:27 fomin 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 概述   Android UI是线程不安全的,如果在子线程中尝试进行UI操作,程序就有可能会崩溃,因为在ViewRootImpl.checkThread对UI操作做了验证,导致必须在主线程中访问UI,但Android在主线程中进行耗时的操作会导致ANR,为了解决子线程无法访问UI 阅读全文
posted @ 2018-11-14 15:25 fomin 阅读(1081) 评论(0) 推荐(0) 编辑
摘要: 1、概念 享元模式是运用共享技术有效地支持大量细粒度的对象,系统只使用少量的对象,而这些对象都很相似,状态变化很小,可以实现对象的多次复用,属于结构性模式。 2、模式结构 Flyweight: 抽象享元类,所有具体享元类的超类或者接口,通过这个接口,Flyweight可以接受并作用于外部专题 Con 阅读全文
posted @ 2018-11-14 10:50 fomin 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 1、概念 外观模式是外部与一个子系统的通信必须通过一个统一的外观对象进行,为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用,属于对象结构型模式。 2、模式结构 Facade(Controller): 外观角色,客户端通过操作外观角色从而达到控制子 阅读全文
posted @ 2018-11-13 15:58 fomin 阅读(367) 评论(0) 推荐(0) 编辑
摘要: 1、概念 组合模式将对象组合成树形结构以表示“部分 整体”的层次结构。它使得客户对单个对象和复合对象的使用具有一致性,属于结构性模式。 2、模式结构 Component:组合中的对象声明接口,实现所有类共有接口的默认行为,声明一个接口用于访问和管理Component子部件 Leaf:叶子对象,叶子结 阅读全文
posted @ 2018-11-12 11:03 fomin 阅读(250) 评论(0) 推荐(0) 编辑