摘要:
中介者模式 一、简介 中介者模式包装了一系列对象相互作用的方式,使得这些对象不必相互明显作用。从而使他们可以松散耦合。当某些对象间的作用发生改变时不会立即影像其他的一些对象之间的作用。保证这些作用可以批次独立变化。中介者模式将多对多的相互做用转化为一对多的相互作用。中介者模式将对象的香味和协作抽象化 阅读全文
摘要:
模板方法模式 一、简介 对于一个算法所需的关键步骤确定了顺序后,各个步骤的具体实现是未知的,如果遇到这类问题那么就可以采用模板方法模式解决。 定义:定义一个操作中的算法的框架而将一些步骤延迟到子类中,使子类可以不改变一个算法的结构即可冲定义该算法的某些特定步骤。 二、使用场景 多个子类公有的方法并且 阅读全文
摘要:
迭代器模式 一、简介 迭代器模式主要用于对容器的访问,比如Java中的List、Map等。我们知道对容器的访问必然会涉及遍历算法,如果我们将遍历的方法封装到容器中对于容器来说就承担了过多的功能,此时容器类不仅要维护自身内部数据元素还要对外提供遍历接口,而且遍历状态下的存储问题导致不能对同一容器同时进 阅读全文
摘要:
备忘录模式 一、简介 备忘录模式用于保存对象当前状态并且在之后可以再次恢复到此状态。备忘录模式的实现方式需要保证被保存的对象状态不能被对象从外部访问,目的是保护好被保存的这些对象状态的完整性以及内部实现不向外暴露。 定义:在不破坏封闭的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样 阅读全文
摘要:
观察者模式 一、简介 观察者模式(又被称为发布-订阅(Publish/Subscribe)模式,属于行为型模式的一种,它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态变化时,会通知所有的观察者对象,使他们能够自动更新自己。该模式一个重要作用就是解耦,将被观察者 阅读全文
摘要:
本地广播( LocalBroadcastManager)源码解析 一、什么是LocalBroadcastManager LocalBroadcastManager是注册和发送本地广播的helper。本地广播与全局广播有如下优势: 广播携带的数据不会离开app,所以无需担心数据泄露。 不允许其他app 阅读全文
摘要:
发送广播(sendBroadcast)的过程源码分析 一、简介 这篇文章我们来分析sendBroadcast的过程。 二、源码分析 一般我们通过以下代码来发送一个广播 Intent intent = new Intent(XXX_ACTION); sendBroadcast(intent); sen 阅读全文
摘要:
注册广播(registerReceiver)过程源码分析 一、简介 本文主要介绍动态注册广播过程。 二、源码分析 广播注册 IntentFilter filter = new IntentFilter(XXX_ACTION); registerReceiver(myReceiver, filter) 阅读全文
摘要:
Broadcast知识详解 今天来看下Android四大组件之一的Broadcast。 一、什么是Broadcast Android apps can send or receive broadcast messages from the Android system and other Andro 阅读全文
摘要:
ContentProvider的启动过程源代码分析 因为我们是通过ContentResolver来跟ContentProvider进行交互的,所以ContentProvider的启动的开始便从getContentResolver()开始分析。 1、获取ContentResolver并向Content 阅读全文
摘要:
ContentProvider 一、简介 1、定义 它是Android标准的数据访问接口,用于应用间的数据共享,数据源可以是sql、xml、文件、Preferences、网络请求。 架构图 2、优点 安全:把数据共享给其他应用且不用担心敏感数据的泄漏 简单高效:底层使用匿名共享内存来完成数据的共享 阅读全文