MVC框架介绍及MVC在android中的应用

来源:互联网 发布:青鸟软件开发培训 编辑:程序博客网 时间:2024/06/06 15:51


MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。
Model层实现系统中的业务逻辑。 View层用于与用户的交互。 Controller层是Model与View之间沟通的桥梁。
使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式,而C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新
使用MVC模式可以将显示部分与数据部分分离,这样当更换视图或模型时可以不影响对方,
更有利于程序的维护。

 Android中界面部分也采用了当前比较流行的MVC框架,在Android中: 

  1) 视图层(View):一般采用XML文件进行界面的描述,使用的时候可以非常方便的引入。当然,如何你对Android了解的比较的多了话,就一定可以想到在Android中也可以使用JavaScript+HTML等的方式作为View层,当然这里需要进行Java和JavaScript之间的通信,幸运的是,Android提供了它们之间非常方便的通信实现。     

  2) 控制层(Controller):Android的控制层的重任通常落在了众多的Acitvity的肩上,这句话也就暗含了不要在Acitivity中写代码,要通过Activity交割Model业务逻辑层处理,这样做的另外一个原因是Android中的Acitivity的响应时间是5s,如果耗时的操作放在这里,程序就很容易被回收掉。

  3) 模型层(Model):对数据库的操作、对网络等的操作都应该在Model里面处理,当然对业务计算等操作也是必须放在的该层的。就是应用程序中二进制的数据。


 除此之外, 在Android SDK中使用MVC模式的组件非常多。例如,所有的列表控制(ListView, Spinner,GridView等)都采用MVC模式与数据交互。在Android中MVC中的V就代表这些组件,而M则代表各种数据源以及操作数据库的库。C则代表Adapter类。Android中的Adapter类分很多程度,但都拥有共同的接口。这些Adapter类主要包括BaseAdapter, SimpleAdapter, SimpleCursorAdapter,ArrayAdapter, CursorAdapter等。它们分别对应不同的数据源,例如,ArrayAdapter对应List和数组数据源,而CursorAdapter对应Cursor对象(一般是从数据库中获取的记录集)。这些Adapter类都需要使用getView方法返回当前列表项显示的View对象。当Model发生改变时,会调用BaseAdapter.notifyDataSetChanged方法通知组件数据已变化,这时Adapter会调用get View方法用于重新显示组件中的内容。


补充:外国有个结合mvc和android讲解的视频点击打开链接


0 0
原创粉丝点击