MVC的介绍与实战

MVC的基本简介

MVC全称是Model - View - Controller,是模型(model)-视图(view)-控制器(controller)的缩写。MVC是一种框架模式而非设计模式,GOF把MVC看作是3种设计模式:观察者模式、策略模式与组合模式的合体,而核心是观察者模式。简而言之,框架是大智慧,用来对软件设计进行分工;设计模式是小技巧,对具体问题提出解决方案,以提高代码复用率,降低耦合度。

MVC模式的优点
a. 首先就是理解比较容易,技术含量不高,这对开发和维护来说成本较低也易于维护与修改。
b. 耦合性不高,表现层与业务层分离各司其职,对开发来说很有利。

MVC模式的缺点
a. 由于它没有明确的定义,所以完全理解MVC模式并不是很容易。使用MVC需要精心的计划,由于它的内部原理比较复杂,所以需要花费一些时间去思考。同时由于模型和视图要严格的分离,这样也给调试应用程序带来了一定的困难。每个构件在使用之前都需要经过彻底的测试。
b. 由于MVC模式将一个应用程序分成了3个部件,这意味着同一个工程将包含比以前更多的文件。

注:对于一些小规模的项目,MVC反而会带来更大的工作量以及复杂度。

MVC在Android中的应用
Android中对MVC的应用很经典,在android中视图View层一般采用XML文件进行界面的描述。如下例子:

<?xml version="1.0" encoding="utf-8"?>

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="50dp"
    android:id="@+id/list_item_text"
    android:textSize="16sp"
    android:gravity="left|center_vertical" />

而对于模型Model部分则大多对应于本地的数据文件或网络获取的数据体,很多情况下我们对这些数据的处理也会在这一层中进行。

最后的控制器Controller则当之无愧的是右Activity承担。

总结
在Android的UI系统中,控制器Activity主要起到的作用就是解耦,将视图View和模型Model进行分离,两者在Activity中进行绑定或完成其他逻辑。
总体来说,MVC更适合于规模比较大的项目,比如Android的UI系统框架,虽说上面的介绍中我们感受到Android在MVC方面的结构,但是,这个框架并非我们自己完成的,而是由framework给我们搭建好的并提供给我们,在平时的开发中,特别是用Android开发,我们并不常用到MVC模式去脱离Android UI系统构建自己的框架结构。

参考:《Android源码设计模式解析与实战》

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章