Android中MVC模式应用

MVC是一种复合模式,综合了观察者,策略,组合模式。

观察者模式是主要体现在model变化后,所有model的观察者都会收到通知。

策略模式是主要体现在view与controller,对于视图来说控制器是一种策略,想换另一种行为,换掉控制器就可以了。

组合模式主要体现在view,视图是所有GUI组件的组合。

使用MVC可以将显示的部分与数据模型部分分离,有利于程序的维护。

在AndroidSDK中使用MVC模式的组件非常多。例如,所有列表控制(ListView,Spinner,GridView等)都采用MVC模式。M代表数据源,V在其中就是指组件本身,C则代表Adapter类,这些Adapter类都需要使用getView方法返回当前列表的View对象。当model改变时,会调用BaseAdapter.notifyDataSetChanged方法通知组件数据已变化,这时Adapter会调用getView方法得新显示组件内容。当组件显示数据变化,如删除一个列表项,组件会能过Adapter中的方法删除model相应的记录,然后再调用BaseAdapter.ntifyDataSetChanged方法使组件更新。

无论数据model变化,还是view变化,都要通过controller来作为桥达到同步的目标。

相关推荐