android中涉及到的设计模式

本文探讨了Android开发中常用的设计模式,如单例模式在Application中的应用、工厂模式在位图加载中的体现、策略模式在动画速率设置及Adapter的使用等方面的应用,并简要提及了属性动画的相关知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前几天去面试,被问到android中常用到了哪些设计模式,当时由于头大,而且对设计模式的认识也不够,想说策略模式的,然后想了,我想到一本书上讲的策略模式,但是发现策略模式和回调没有什么关系,别人还在那里等着,然后我弱弱的说了句回调算策略模式么?接着就直接被否定了。今天看了看别人讲的策略模式,顿时有种茅舍顿开的感觉。

具体的链接:http://www.cnblogs.com/qianxudetianxia/archive/2013/04/19/3030235.html

他所说的排序,比如我们有一个方法是给数组排序的,比如sortArray(Isort mysort),里面的Isort是一个接口,这个接口主要的作用就是给定排序的具体方法,比如我们常用的冒泡,快排等,至于你想使用归并,选择等排序方法,都行!这种就是告诉了你策略,然后你按照这个策略去进行排序,跟《设计模式之禅》那本书有些相似,不过那个是用三国里面的故事故事作为背景来讲的,但是对于我这样的,还是喜欢用代码中一些常用的方法来讲,理解的更好点,最后那个人举了一个android里面给动画设置速率的例子,其实我觉得View.startAnimation()这个方法其实也是一个很好表现策略模式的方法,因为通过设置不同的Android的动画方法,可以表现不同的动画。这也是一种多态的表现,我们所熟知的android动画,知道有各种比如补间动画,帧动画和属性动画,这些都是动画的子类,所以,我觉得这里用到了策略模式。

说道属性动画,这个我还是有点囧,以前的工作中基本上没有怎么用到属性动画,突然间那个人说我连基本的属性动画都不熟悉,又被那个人一顿的鄙视,关键那个人还是跟我同一年毕业的,我次奥啊,真是不能忍啊。下面一片文章专门会对属性动画进行说明。

然后我大致看了看别人对android中使用到的设计模式,主要表现在比如:

1. 一个APP里面的Application,这里用到了单例模式,单例模式可以说是一种最简单的模式了,但是这里有个坑的地方就是要特别注意多线程的时候单例模式可能出现的问题。

2. 还有我们加载位图的时候用的一个类,BitmapFactory.decodeXXX()等方法,都用到了一个很常见的模式-工厂模式。

3. 适配器模式,说到适配器,我们最容易想到的就是android里面的Adapter,但是我们常用到的setAdapter()方法,其实不是适配器模式的表现,而是我们刚刚所说的策略模式。所以这里其实是个坑,适配器和适配器模式是两个不同的概念,适配器模式的概念是将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作。

4. 模板模式,这个主要是我们用到的一些比如Activity,每次我们写Activity都会用到,比如重写onCreate(),onStart()等方法。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值