******************************************************************************************************************************
(一)MVC是什么?
MVC全称是Mode --View--Controller(模型--视图--控制器),是一种非常经典的应用设计思路,MVC将业务逻辑、数据与界面显示分离,真正实现了代码的高内聚低耦合。
Model(模型对象)
是应用的主体部分,所有的业务逻辑都应该写在该层。
View(视图对象)
是应用程序中负责生成用户界面的部分。也是在整个MVC架构中用户唯一可以看到的一层,接收用户的输入,显示处理结果。
Controller(控制器对象)
是根据用户的输入,控制用户界面数据显示及更新model对象状态的部分,控制器更重要的一种导航功能,响应用户触发的相关事件,交给model处理。
(二)为什么要使用MVC?
Android鼓励弱耦合和组件的重用,在Android中MVC的具体体现如下:
视图层一般采用xml文件进行界面的描述,使用的时候可以非常方便的引入,Android的控制层的重任通常落在了众多的额activity的肩上,换句话说,不要在activity中过多的写代码,要通过activity交割model业务逻辑层处理,我们都知道,Android activity界面的响应时间是5s,如果在界面中进行耗时操作的话,那程序会经常性的ANR(Application Not Responding)异常,即程序崩溃。因此对数据库的操作、对网络请求、业务逻辑的处理都应该放在Model里面处理。
(三)如何使用MVC
android 里面的适配器,我觉得可以称为运用mvc的经典案例,在adapter里面处理逻辑和业务代码,同时activity里面描绘界面,和用户进行交互,通过不同的点击事件,更新界面显示。
框架和设计模式的区别
有很多程序员往往把框架模式和设计模式混淆,认为MVC是一种设计模式。实际上它们完全是不同的概念。
框架、设计模式这两个概念总容易被混淆,其实它们之间还是有区别的。框架通常是代码重用,而设计模式是设计重用,架构则介于两者之间,部分代码重用,部分设计重用,有时分析也可重用。在软件生产中有三种级别的重用:内部重用,即在同一应用中能公共使用的抽象块;代码重用,即将通用模块组合成库或工具集,以便在多个应用和领域都能使用;应用框架的重用,即为专用领域提供通用的或现成的基础结构,以获得最高级别的重用性。
框架与设计模式虽然相似,但却有着根本的不同。设计模式是对在某种环境中反复出现的问题以及解决该问题的方案的描述,它比框架更抽象;框架可以用代码表示,也能直接执行或复用,而对模式而言只有实例才能用代码表示;设计模式是比框架更小的元素,一个框架中往往含有一个或多个设计模式,框架总是针对某一特定应用领域,但同一模式却可适用于各种应用。可以说,框架是软件,而设计模式是软件的知识。
框架模式有哪些?
MVC、MTV、MVP、CBD、ORM等等;
框架有哪些?
C++语言的QT、MFC、gtk,Java语言的SSH 、SSI,PHP语言的 smarty(MVC模式),Python语言的django(MTV模式)等等
设计模式有哪些?
工厂模式、适配器模式、策略模式等等
******************************************************************************************************************************