我正在做一个关于移动平台的小研究,我想知道Android使用了哪些设计模式?
例如,在iOS中,模型-视图-控制器与委托和其他模式一起被广泛使用。
Android使用什么模式,在哪里使用?
EDIT
我并不是要求在内核、dalvik等深层使用的设计模式,而是应用程序开发人员在开发应用程序时将遇到的模式。
我正在做一个关于移动平台的小研究,我想知道Android使用了哪些设计模式?
例如,在iOS中,模型-视图-控制器与委托和其他模式一起被广泛使用。
Android使用什么模式,在哪里使用?
EDIT
我并不是要求在内核、dalvik等深层使用的设计模式,而是应用程序开发人员在开发应用程序时将遇到的模式。
当前回答
当我读到这篇文章时,它真的帮助我通过例子来理解模式,所以我制作了下面的表格,以便清楚地看到设计模式及其在Android框架中的示例
我希望它对你有帮助。
一些有用的参考连结: 基于Kotlin的Android通用设计模式 Android设计模式介绍 设计模式
其他回答
Android也使用ViewHolder设计模式。
它用于提高滚动ListView时的性能。
ViewHolder设计模式使您能够访问每个列表项视图,而不需要进行查找,从而节省宝贵的处理器周期。具体来说,它避免了在ListView滚动期间频繁调用findViewById(),这将使其平滑。
以下Android类使用设计模式
1)视图持有者使用单例设计模式
2)意图使用工厂设计模式
3)适配器使用适配器设计模式
4)广播接收端采用观察者设计模式
5)视图使用复合设计模式
6)媒体框架使用Façade设计模式
Binder对死亡接收人通知使用“观察者模式”。
在Android中,“工作队列处理器”模式通常用于从应用程序主线程中卸载任务。
示例:IntentService类的设计。
IntentService接收intent,启动工作线程,并适当地停止服务。所有请求都在一个工作线程上处理。
在Notifications情况下,NotificationCompat。构建器使用构建器模式
就像,
mBuilder = new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.ic_stat_notification)
.setContentTitle(getString(R.string.notification))
.setContentText(getString(R.string.ping))
.setDefaults(Notification.DEFAULT_ALL);