MVC和MVP的区别?
MVP 是从经典的模式MVC演变而来,它们的基本思想有相通的地方:Controller/Presenter负责逻辑的处理,Model提供数据,View负责显示。作为一种新的模式,
MVP与MVC有着一个重大的区别:在MVP中View并不直接使用Model,它们之间的通信是通过Presenter (MVC中的Controller)来进行的,所有的交互都发生在Prese...
分类:
其他好文 时间:
2015-08-05 13:03:47
阅读次数:
110
一.概述
代理模式也是平时比较常用的设计模式之一,代理模式其实就是提供了一个新的对象,实现了对真实对象的操作,或成为真实对象的替身.在日常生活中也是很常见的.例如A要租房,为了省麻烦A会去找中介,中介会替代A去筛选房子,A坐享中介筛选的结果,并且交房租也是交给中介,这就是一个典型的日常生活中代理模式的应用.平时打开网页,最先开到的一般都是文字,而图片等一些大的资源都会延迟加载,这里也是使用了代理模式....
分类:
移动开发 时间:
2015-07-28 23:12:11
阅读次数:
175
一.概述
单例模式是设计模式中最简单的一种,但是它没有设计模式中的那种各种对象之间的抽象关系,所以有人不认为它是一种模式,而是一种实现技巧.单例模式就像字面的意思一样,提供一个只能自己实例化的实例,并且提供了一个全局的访问点.要达到这几点要求就要满足三点:私有构造函数(防止被别人实例化),静态私有自身对象(用来提供实例),静态公有的getInstance方法(用来创建和获取实例对象)....
分类:
移动开发 时间:
2015-07-01 14:12:24
阅读次数:
177
一.概述
MVP(Model-View-Presenter) 是总所周知MVC模式的一个演变,他们的主要目的都是划分模块职责,降低模块耦合,易测试,提高代码复用,这里主要针对Android平台来简单分析MVP.
1.层级责任
Model: 负责数据的检索,持久化等操作
View: 负责UI的绘制和用户的交互
Presenter: 作为Model和View的中间...
分类:
移动开发 时间:
2015-06-27 16:42:22
阅读次数:
153
在Android中用于保存Activity状态的onSaveInstanceState()和恢复Activity状态的onRestoreInstanceState(),
这种算不算是一种备忘录模式呢?
1、定义:
在不破坏封装的情况下,捕获对象的内部状态,并在对象之外保存这个状态,这样以后就可以恢复以后保存的状态;
2、使用:
备忘录模式,比较适合用于功能复杂,但是需要维...
分类:
移动开发 时间:
2015-06-23 13:35:18
阅读次数:
266
悲剧面试题:
简单谈谈你对Android中的适配器模式;
Adapter有哪些Adapter?
画出Adapter 的类图;
只有面试的时候才知道自己能力如何;
只有面试的时候才能更清晰的知识自己哪些不足;
既然不足那就补上。
适配器模式:
1、定义:
将一个接口转化为客户希望的另外一个接口;
2、目的:
Adapter模式使得原本由于接口...
分类:
移动开发 时间:
2015-06-19 11:55:24
阅读次数:
147
1、定义:
当一个对象内在状态转变时,允许改变其行为,这个对象看起来改变了其类;
2、优点:
将与特定状态相关的行为局部化,并且将不同状态的行为分割开来;
3、目的:
消除庞大的条件分支语句;
4、使用:
当一个对象的行为取决于它的状态,并且它在运行时刻必须根据状态改变它的行为时,就可以考虑状态模式;
5、描述:
将特定状态的行为都...
分类:
移动开发 时间:
2015-06-18 17:18:33
阅读次数:
123
问题:
在Android中,根据Android的事件树,我们知道:在与屏幕按键、触摸、滑动等操作与应用进行交互时触发的相关事件中,交互事件是沿着事件树自顶向下传播的;
当位于事件树上层的父控件接受到事件后,判断事件的所属,若需要,则截获事件,否则,向下子控件传播。
那么我们在编写各种Listener,在View各种事件函数接受和处理各类交互事件,这种处理模式,是否就是一种观察者模式呢...
分类:
移动开发 时间:
2015-06-11 14:43:36
阅读次数:
114
回头看自己写的东西,在关于Android自定义控件时,写的代码适用性比较高,但是看上去没有什么技术含量,所以在学习设计模式的时候,想想有些东西是否能够改进,比如说:
自定义Dialog是Android应用必须的,系统的控件实在是太难看了;
在构建中,完全是,new完对象之后,需要什么构建什么,这样写没有问题,可读性也还行,就是看上去不咋的。
以下是小部分代码片段:
package...
分类:
移动开发 时间:
2015-06-10 12:27:17
阅读次数:
118
问题:在Android中,Apk可以有微信,QQ为代表的插件式安装更新功能;
那么问题来了,主系统(姑且这么说)调用插件式安装的子系统,由子系统提供对外的访问,属不属于一种外观模式呢?
先说设计模式:
1、定义:
为子系统中的一组接口提供一个统一接口;
Facade模式定义了一个高层接口,这个接口使得这子系统更容易使用。
2、目的:
降低对子系统的复杂度和依赖。这使得子系...
分类:
移动开发 时间:
2015-06-09 20:09:59
阅读次数:
125