MVVM展现框架概述

MVVM模式作为框架核心,包含以下三个部分:

l  Model: 模型,业务数据,表示业务中的对象和操作,和view独立。

l  ViewModel: 视图模型,对数据和UI操作,就是与界面(view)对应的Model。

l  View: 视图,可视化、交互式UI。代表了ViewModel的状态,显示ViewModel的内容。

1.png

具体来说,Model仅仅关注数据信息,不关心任何视图操作行为;其不格式化数据或者影响数据在浏览器中的展现,这些都不是它的责任;格式化数据是View层的任务,同时业务逻辑层被封装在ViewModel中,用来和Model进行交互。

View是指应用中和用户直接交互的部分,他是一个交互式的UI来表示ViewModel的状态,View被认为是主动的,而不是被动的,MVVM主动式的View包含数据绑定事件和理解Model和ViewModel的行为,尽管这些行为可以和属性对应,但View仍然需要响应ViewModel的事件,同时View不负责控制状态。

ViewModel是一个专门用于数据转换的Controller,它可以把Model中的信息转换为View中的信息,同时从View传递命令给Model;

综上,MVVM有以下优点:

l  MVVM使开发更加容易,使前端开发和后端开发人员互不影响。

l  抽象化View层,减少了代码中的业务逻辑。

l  ViewModel比事件驱动更容易测试。

l  ViewModel的测试不用关心UI的自动化和交互 。    

            

分类

选型原则

技术选型

1、 采用Ajax技术路线;

2、 支持HTML4、css2.0以上;

3、 支持REST服务调用;

   4、支持IE7及以上版本,Chrome10以上版本以及firefox3.5及以上版本。

开源软件

Jquery1.11.1, KnockoutJS 3.2.0 ,bootstrap   2.3.2, RequireJS 2.1.15


 

KnockoutJS是一个轻量级的MVVM框架,通过简易的UI绑定语法,实现动态更新UI。KnockoutJS的特点:

l  声明式绑定:通过简洁易读的data-bind语法,将DOM元素与ViewModel关联起来。

l  UI自动更新:当模型(ViewModel)状态更新时,自动更新UI界面。

l  依赖跟踪:在模型数据间建立隐式的关系链。

l  模板化:快速生成复杂,可嵌套UI模型数据的函数。

l  支持所有主流浏览器,IE 6+,Firefox 2+,Chrome,Opera,Safari (desktop/mobile)。

l  无其他依赖。

基于KnockoutJS实现模型、视图和视图模型的基础模型框架,满足View和Model分离的需求,两者通过ViewModel联系,实现视图模型和视图双向绑定功能,视图的变更引起视图模型的变化,视图模型的更改引起视图的更新。

Bootstrap是一个Web应用程序的前端工具包。它是一个CSS和HTML的集合,使用了最新的浏览器技术,为Web开发提供了时尚的版式、表单、按钮,表格,网格系统等。利用BootStrap V2.0快速实现前端组件的展示UI。

通过Ajax与服务端进行数据交互。

通过RequireJS实现对第三方库和js资源的引用,RequireJS 是一个JavaScript 模块载入框架,是 AMD 规范的实现者之一。它使用了不同于传统<script>标签的脚本加载步骤。可以用它来加速、优化代码,其主要目的是为了代码的模块化。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: mvvmlight框架是一个在WPF、Windows Phone和Universal Windows Platform (UWP)应用程序中使用的轻量级MVVM(Model-View-ViewModel)框架。它提供了许多有用的功能和工具,以帮助开发人员更轻松地实现MVVM架构。 mvvmlight框架提供了以下主要功能和特点: 1. 事件消息传递:通过使用框架内的Messenger类,可以实现视图之间的松耦合通信。不同的视图可以通过消息订阅和发布机制进行交互,从而去除了直接的UI绑定。 2. RelayCommand:这是一个实现了ICommand接口的轻量级命令对象。开发人员可以使用RelayCommand来处理用户操作,而无需创建额外的命令类。RelayCommand可以绑定到按钮、菜单项等UI元素,以执行特定的操作。 3. ViewModelLocator:该类用于连接视图和视图模型。通过在应用程序中定义一个ViewModelLocator类,并在XAML中使用静态资源绑定,可以轻松地将视图和视图模型关联起来,使得数据绑定和命令绑定变得简单而方便。 4. 数据绑定:mvvmlight框架支持通过INotifyPropertyChanged接口和DependencyObject类来实现数据绑定。这使得当数据改变时,能够自动地更新UI,并且可以使用属性更改通知来保持视图和视图模型之间的同步。 mvvmlight框架的示例代码非常丰富,提供了各种应用程序类型的示例,包括WPF、Windows Phone和UWP等。通过查看这些示例代码,开发人员可以学习如何在实际项目中正确地使用mvvmlight框架来构建基于MVVM架构的应用程序。示例中展示了框架中的不同特性的用法和实现方式,例如事件消息传递、命令绑定和数据绑定等。 总而言之,mvvmlight框架提供了一套简单而强大的工具和特性,以帮助开发人员更轻松地实现MVVM架构。通过使用mvvmlight框架的示例代码,开发人员可以学习和应用这些特性,从而提高应用程序的可维护性和扩展性。 ### 回答2: MVVMLight是一款轻量级的MVVM(Model-View-ViewModel)框架,主要用于简化WPF、UWP和Xamarin等平台上的应用程序开发。它提供了许多功能和工具,使开发人员能够更轻松地实现基于MVVM模式的应用程序。 MVVMLight框架的demo可以帮助开发人员快速上手使用该框架。在demo中,通常会包含一些常见的应用场景和功能示例,例如数据绑定、命令绑定、消息传递等。 通过观察MVVMLight框架的demo,开发人员可以了解如何配置和初始化MVVMLight框架,以及如何通过ViewModelLocator来管理ViewModel的创建和定位。此外,demo还会展示如何在View和ViewModel之间建立绑定关系,以及如何使用RelayCommand来处理用户交互和触发相应的操作。 在demo中,开发人员可以看到一些常见的UI控件,如按钮、文本框、列表等,并演示了如何将这些UI控件与ViewModel进行绑定,实现数据的双向绑定和命令的绑定。 通过学习和参考MVVMLight框架的demo,开发人员可以更好地理解和掌握MVVM模式的开发思想和技巧,从而快速构建出高效、可靠的应用程序。同时,demo还可以帮助开发人员更好地理解MVVMLight框架的架构和设计理念,为实际项目的开发提供参考和借鉴。 ### 回答3: MVVMLight框架是一个适用于开发基于MVVM模式的应用程序的框架。它提供了一种简单、高效的方法来管理应用程序的UI、业务逻辑和数据之间的交互。 MVVMLight框架的demo通常会包括几个关键的组件。首先是ViewModel,在MVVMLight框架中,ViewModel负责处理应用程序的业务逻辑和数据操作。它与UI进行通信,并包含用于绑定数据的属性和命令。 然后是Model,它代表应用程序的数据和业务逻辑。ViewModel通过调用Model的方法来获取和操作数据。在MVVMLight框架中,Model通常是通过接口进行定义和实现的,以便于在单元测试中进行模拟。 接下来是View,它负责展示UI,并与ViewModel进行绑定。在MVVMLight框架中,通常使用数据绑定和命令绑定来实现ViewModel和View之间的通信。 在MVVMLight框架的demo中,通常会展示如何创建一个ViewModel,并在View中进行绑定。示例可能包括展示一些数据,并使用命令来处理用户交互。这些示例可以帮助开发者了解如何使用MVVMLight框架创建符合MVVM模式的应用程序。 总的来说,MVVMLight框架的demo主要展示了如何使用该框架来快速构建符合MVVM模式的应用程序。通过展示ViewModel、Model和View之间的关系和交互,开发者可以更好地理解和应用MVVMLight框架

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr.T's Blog

感谢打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值