下载此文档

ANDROID中设计模式的采用.docx


文档分类:论文 | 页数:约35页 举报非法文档有奖
1/35
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/35 下载此文档
文档列表 文档介绍
该【ANDROID中设计模式的采用 】是由【飞行的大山】上传分享,文档一共【35】页,该文档可以免费在线阅读,需要了解更多关于【ANDROID中设计模式的采用 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。ANDROID中设计模式的采纳
ANDROID中设计模式的采纳
ANDROID中设计模式的采纳
ANDROID中设计模式的采纳--行为模式
职责链模式
职责链模式的企图为:使多个对象都有时机办理恳求,进而防止恳求的发送者和接收者
之间的耦合关系。将这些对象连成一条链,并沿着这条链传达该恳求,直到有一个对象办理
它为止。使多个对象都有时机办理恳求,进而防止恳求的发送者和接收者之间的耦合关系。
将这些对象连成一条链,并沿着这条链传达该恳求,直到有一个对象办理它为止。职责链模
式的构造图以下:
在ANDROID的输入管理系统中提交输入事件到视图时使用了职责链模式,其类图
所示:
类图中的

ViewRootImpl

类的内部类

EarlyPostImeInputStage


ANDROID中设计模式的采纳
ANDROID中设计模式的采纳
ANDROID中设计模式的采纳
NativePostImeInputStage

、ViewPostImeInputStage

、SyntheticInputStage

组成一个
ANDROID中设计模式的采纳
ANDROID中设计模式的采纳
ANDROID中设计模式的采纳
输入事件责任办理链,

用来分阶段办理输入事件,

假如本阶段对事件没有办理,

则传达到下
ANDROID中设计模式的采纳
ANDROID中设计模式的采纳
ANDROID中设计模式的采纳
一个对象进行办理,直至事件被办理。
ANDROID中设计模式的采纳
ANDROID中设计模式的采纳
ANDROID中设计模式的采纳
、命令模式
命令模式的企图为:将一个恳求封装为一个对象,进而使你可用不一样的恳求对客户进行
参数化;对恳求排队或记录恳求日记,以及支持可取消的操作。命令模式的构造图以下:
ANDROID中设计模式的采纳
ANDROID中设计模式的采纳
ANDROID中设计模式的采纳
在ANDROID系统中命令模式用的也比许多,如在事件输入系统中,在InputDispatcher
对象转发事件过程中就采纳了命令模式:把每一个输入事件封装为种类为NotifyArgs的对
象,不一样的事件对应NotifyArgs类的不一样子类,如按键事件对应NotifyKeyArgs类,触摸事
ANDROID中设计模式的采纳
ANDROID中设计模式的采纳
ANDROID中设计模式的采纳
件对应

NotifyMotionArgs

类,而

NotifyArgs

命令的接收对象为

InputDispatcher

,所以通
ANDROID中设计模式的采纳
ANDROID中设计模式的采纳
ANDROID中设计模式的采纳
过事件命令的履行把事件自己转发给InputDispatcher对象,实现事件的提交。有关模式
类图以下:
解说器模式
解说器模式的企图为:给定一个语言,定义它的文法的一种表示,并定义一个解说器,
这个解说器使用该表示来解说语言中的句子。解说器模式的构造图以下:
ANDROID中设计模式的采纳
ANDROID中设计模式的采纳
ANDROID中设计模式的采纳
在android系统中,担保理服务对应用包的分析使用认识释器模式。
担保理服务采纳PackageParser类来负责应用包的分析,PackageParser类使用认识
释器模式对一个应用包进行解说,关于应用包中的每种语法构造都创立了对应的类,来分别
收集应用包中的相应信息。类构造图以下:
图中除了Resources及XmlPullParser两个类外其他的类都是PackageParser类的内
部类,应用包中的每个语法构造对应的类都派生自componet类且属于componet类的内部
成员,Package类(一个包一个Package对象)是一个聚合类,用来把分析出来的一个应
用包中的componet信息聚合到Package类中进行一致管理,PackageParser类将分析出
的每个componet信息增添到Package中。
ANDROID中设计模式的采纳
ANDROID中设计模式的采纳
ANDROID中设计模式的采纳
、迭代器模式
迭代器模式的企图为:供给一种方法次序接见一个聚合对象中各个元素,而又不需裸露该对象的内部表示。迭代器模式的构造图以下:
迭代器模式是个广泛使用的模式,JAVA的会合类库(列表,会合,映照、词典,有序集,
字符串等)都以不一样的形式供给了迭代器,用来对会合类中的元素进行遍历。
5、中介者模式
中介者模式的企图为:用一此中介对象来封装一系列的对象交互。中介者使各对象不需要显式地互相引用,进而使其耦合松懈,并且能够独立地改变它们之间的交互。中介者模式的构造图以下:
ANDROID中设计模式的采纳
ANDROID中设计模式的采纳
ANDROID中设计模式的采纳
在ANDROID系统中keyguard的功能实现采纳了中介者模式,用来中介keyguard有关的恳求,包含查问keyguard的状态,影响keyguard应该显示和复位的电源
管理事件,以及当keyguard显示时对窗口管理的通知事件和来自keyguard视图自己的关
于keyguard能否成功unlocked的事件等。有关UML类图以下:
此中KeyguardViewMediator作为中介者角色,与电源管理、用户管理、报警管理、
声音管理、状态条管理、
KeyguardViewManager
、KeyguardDisplayManager

KeyguardUpdateMonitor
等服务或对象交互,
读取有关状态,履行和触发
keyguard事
件有关的功能等,而KeyguardViewManager
、KeyguardHostView

KeyguardUpdateMonitor
类经过有关回调向KeyguardViewMediator
传递Keyguard
视图自己和keyguard
有关状态更新方面的事件,
此外KeyguardService
服务也是经过
KeyguardViewMediator
查问keyguard的状态
并经过IKeyguardService
接口对外供给
keyguard的状态信息。
备忘录模式
备忘录模式的企图为:在不损坏封装性的前提下,捕捉一个对象的内部状态,并在该对
象以外保留这个状态。这样此后便可将该对象恢复到原来保留的状态。备忘录模式的构造图以下:
ANDROID中设计模式的采纳
ANDROID中设计模式的采纳
ANDROID中设计模式的采纳
在ANDROID系统中有许多采纳备忘录模式的例子,

如ACTIVITY

活动状态的保留和恢
ANDROID中设计模式的采纳
ANDROID中设计模式的采纳
ANDROID中设计模式的采纳
复就是采纳备忘录模式的一个例子。
ANDROID中设计模式的采纳
ANDROID中设计模式的采纳
ANDROID中设计模式的采纳
在一个活动暂停或停止时调用活动的

onSaveInstanceState(BundleoutState)

函数把
ANDROID中设计模式的采纳
ANDROID中设计模式的采纳
ANDROID中设计模式的采纳
ACTIVITY

的目前状态保留到

Bundle

对象中,活动恢复或从头启动时调用活动的
ANDROID中设计模式的采纳
ANDROID中设计模式的采纳
ANDROID中设计模式的采纳
onRestoreInstanceState(BundlesavedInstanceState)

函数恢复到原来状态。
ANDROID中设计模式的采纳
ANDROID中设计模式的采纳
ANDROID中设计模式的采纳
7、察看者模式
察看者模式的企图为:定义对象间的一种一对多的依靠关系,当一个对象的状态发生改
变时,全部依靠于它的对象都获取通知并被自动更新。察看者模式的构造图以下:
察看者模式也称公布-定阅者模式,能够实现目标和多个察看者间的松懈耦合,并支持
广播通讯,是最常用的设计模式之一。
在ANDROID系统中察看者模式也是广泛采纳,察看者模式供给了ANDROD架构连
接件的基础,在系统供给的广播组件及内容供给者组件、通知服务中以及视图控件和基层事
件监听、UI事件输入等很多方面广泛采纳。
ANDROID中设计模式的采纳
ANDROID中设计模式的采纳
ANDROID中设计模式的采纳
察看者模式也是MVC模式的实现基础,MVC中的Model类担当目标的角色,而
View担当察看者的角色。
8、状态模式
状态模式的企图为:同意一个对象在其内部状态改变时改变它的行为。对象看起来仿佛改正了它的类。状态模式的构造图以下:
状态模式在ANDROID系统顶用的也比许多,特别在数据连结、WIFI、蓝牙等网络连结和状态管理方面。
如在WIFI管理方面,就供给了WifiStateMachine、P2pStateMachine、WifiController、WifiApConfigStore、WifiWatchdogStateMachine五个状态机来管理WIFI有关功能的不一样
状态。每个状态机对象在状态模式中起到Context作用,用来汇聚有关状态,启动状态履行等。
ANDROID系统中每个状态机管理的状态都派生自State类,State类是IState接口的实
现。
WifiApConfigStore管理的状态图以下:
ANDROID中设计模式的采纳
ANDROID中设计模式的采纳
ANDROID中设计模式的采纳
9、策略模式
策略模式的企图为:定义一系列的算法,把它们一个个封装起来,并且使它们可互相替代。
本模式使得算法可独立于使用它的客户而变化。策略模式的构造图以下:
策略模式也是常常使用的模式,在ANDROID系统的几乎每个子系统中都有策略模式
使用的影子,如窗口管理服务中供给窗口管理有关策略的WindowManagerPolicy接口对象;
输入管理系统中供给输入事件读取和提交策略的InputReaderPolicyInterface和
PointerControllerPolicyInterface接口对象,以及输入事件映照算法等;声音有关服务中供给
声音输入和输出配置和激活策略的AudioPolicyInterface接口对象;网络管理有关服务中提
供网络统计般配策略的NetworkPolicy对象等。
ANDROID中设计模式的采纳
ANDROID中设计模式的采纳
ANDROID中设计模式的采纳
10、模板方法模式
模板方法模式的企图为:定义一个操作中的算法的骨架,而将一些步骤延缓到子类中。
TemplateMethod使得子类能够不改变一个算法的构造即可重定义该算法的某些特定
步骤。模板方法模式的构造图以下:
模板方法模式和察看者模式相同也是最常用的设计模式之一,模板方法特别基本,几乎
能够在任何一个抽象类中找到。工厂方法也是采纳模板模式创立对象的特例。
在ANDROID系统中模板方法模式更是作为整个系统框架的基础和核心,为应用程序
组件运转(包含ACTIVITY、SERVICE、Broadcastreceiver)供给了大的运转骨架,应用
程序只要在应用组件的派生类中从头实现钩子函数(模板方法),即能够实现应用程序的客制
化功能,这样既能够实现多样化的应用,又能够使应用程序开发按照相同的框架API。
11、接见者模式
接见者模式的企图为:表示一个作用于某对象构造中的各元素的操作。它使你能够在
不改变各元素的类的前提下定义作用于这些元素的新操作。接见者模式的构造图以下:
ANDROID中设计模式的采纳
ANDROID中设计模式的采纳
ANDROID中设计模式的采纳

ANDROID中设计模式的采用 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数35
  • 收藏数0 收藏
  • 顶次数0
  • 上传人飞行的大山
  • 文件大小857 KB
  • 时间2023-02-11
最近更新