MVVM与异步编程模式解析
1. MVVM模式概述
MVVM模式最初由微软为Windows Presentation Foundation (WPF) 和Silverlight定义,2005年由John Grossman在一篇关于Avalon(WPF的代号)的博客文章中正式宣布。它在Adobe Flex社区也受到了一定的欢迎,成为MVC的替代方案。在微软采用MVVM名称之前,社区中曾有从MVP向MVPM(Model View PresentationModel)转变的趋势。
MVVM模式主要由三个组件组成:
- Model :代表特定领域的信息,如用户账户(姓名、头像、电子邮件)或音乐曲目(标题、年份、专辑)等。模型通常只保存信息,不处理行为,数据格式化由视图负责,而行为逻辑则封装在ViewModel中。不过,模型可以进行数据验证,例如验证输入的电子邮件地址是否符合特定的正则表达式。
- View :是用户与应用程序交互的唯一部分,是一个交互式的用户界面,代表ViewModel的状态。视图可以是主动的或被动的,主动视图包含数据绑定、事件和行为,需要理解ViewModel;被动视图只输出显示,不接受用户输入,可能对应用程序中的模型一无所知,可由Presenter操纵。视图不负责处理状态,而是与ViewModel保持同步。
- ViewModel :可被视为一个专门的数据转换器,将模型信息转换为视图信息,并将视图的命令传递给模型。例如,模型中保存的日期可能是UNIX格式,而视图中显示的是格式化后的日期,ViewModel则在两者之间起到中介作用。ViewMode
超级会员免费看
订阅专栏 解锁全文
36

被折叠的 条评论
为什么被折叠?



