6月更文挑战|设计模式 —— MVC模式

424 阅读2分钟

这是我参与更文挑战的第25天,活动详情查看:更文挑战

MVC模式

MVC模式全程Model-View-Controller ,模型-视图-控制器模式。MVC理念主要目的是为了将数据模型和视图分离开以控制器作为连接桥梁把这两者相关联起来并且做到解耦。MVC事实上是框架模式并非设计模式,但这不妨碍去了解和熟悉这种框架模式,对于开发者而言设计模式和框架模式都是需要去掌握的开发理论知识。

框架分层

视图(V-View)

视图层作为最上层,也可以认为是交互层。比如GUI图形化界面、用户操作页面、移动客户端的UI页面等。总体来说就是用户所能最直观接触到的可视化操作页面,通过图形界面去做相应操作,等待系统去处理操作逻辑来表现出反馈最终效果。视图层V通过控制器C去处理数据,然后由模型层M完成数据处理后视图层V再去读取最新数据信息更新页面。

模型(M-Model)

模型层也是核心层,主要用于管理和保存系统中的数据和信息内容。当视图层V通过控制层C更新模型层M数据,控制层C会通知模型层M更新数据,模型层M更新完数据后会通知视图层V去刷新页面以可视化形式展示最新数据结果。

控制器(C-Controller)

控制器层作用于视图层和模型层之间,控制器C由视图层V更新数据时通知模型层M去处理,它主要是将视图层V和模型层M分离开。

image.png

Android中的MVC

Android开发中使用MVC的场景比较常见。对于Android来讲,页面部分开发就是使用了MVC模式。视图层在Android中一般是使用XML文件描述页面布局形态;模型层则是对应用内通过本地文件或是网络请求形式获取到的数据信息;控制器就是由Android开发中的Activity承担,在Activity中会获取到模型数据以及页面创建和页面元素获取,然后将这两者绑定。当需要更新数据时Activity会去处理模型,然后就去更新视图。

总结

MVC模式就是通过Controller对View和Model进行分离解耦。就像Android开发一样,View视图是独立存在一般由XML布局描述来实现,最终都是由Activity将View和Model结合在一起完成其他逻辑功能。

参考