河南做网站优化,wordpress 主题 数据,新浪微博 wordpress,wordpress主题自适应手机端演变
开发常用的框架包括MVC、MVP和本文的MVVM#xff0c;三种框架都是为了分离ui界面和处理逻辑而出现的框架模式。mvp、mvvm都由mvc演化而来#xff0c;他们不属于某种语言的框架#xff0c;当存在ui页面和逻辑代码时#xff0c;我们就可以使用这三种模式。
model和vie…演变
开发常用的框架包括MVC、MVP和本文的MVVM三种框架都是为了分离ui界面和处理逻辑而出现的框架模式。mvp、mvvm都由mvc演化而来他们不属于某种语言的框架当存在ui页面和逻辑代码时我们就可以使用这三种模式。
model和view分别指的是数据模型和视图前者用于存储数据后者用于展示前者的数据。
在不同的框架模型中model和view可能会有所差别但基础功能基本不变差别在于数据的传输方式。
MVC架构
即model模型、view视图、controller控制器是最早出现的架构。 在Android中没有单独分离controller即业务层也被称为服务层、逻辑层个人认为逻辑层是最符合的名称而是将activity或fragment直接作为controller。同时他们即充当了view的角色也直接操作model中的数据有时候一个activity或fragment上千行代码十分臃肿。
而对于一般的mvc而言controller需要处理用户的输入和事件并直接更新视图导致视图和控制器耦合极强。
MVP架构
基于MVC架构的改进将View和Model之间的直接关系去除并引入了新的层级Presenter代替原本的Controller。 这一改进完成了Model和View的解耦。但在实际开发中该架构三个模块之间的通信是靠接口实现的这导致定义的接口和方法会非常多即使是一个简单的页面功能也会如此。
MVVM架构
基于数据绑定的架构模式将View与Model之间进一步解耦引入了ViewModel。 MVVM在MVP的基础上添加了双向绑定使得View可以感知到ViewModel中的数据变化View也可以感知到ViewModel的数据变化。此时当Model中的数据发生改变时View会自动更新这种数据驱动方式减少了大量手动更新UI的代码。
而实现这一数据绑定我们要用到Android中的DataBinding他是一种数据双向绑定框架。
实现
视图绑定ViewBinding
数据绑定DataBinding