• WPF —— MVVM架构


     1 什么是MVVM?

    MVVM是一种软件架构模式,它将应用程序分为三个层次 model(数据模型),view(视图),viewmodel(视图模型)

    model:表示应用程序当中数据和业务逻辑,通俗来说就是对象。例如学生的姓名和年龄等放到一个class里面,作为一个对象
    view:就是xaml文件,处理用户交互和展示数据的 交互就是事件click,展示就是数据绑定等
    viewmodel:数据和页面之间的桥梁,可以处理一些ui逻辑,也可以处理数据绑定,可以执行ui界面的命令(类似于事件)
    也可以处理ui界面事件。
    三者之间的关系 view对应一个viewmodel,一个viewmodel对应N个model,
    mvvm核心特点数据驱动视图,通过修改数据达到更新界面的效果 

    2 MVVM和WPF关系?

    WPF带来的技术有数据绑定,Binding(绑定)、依赖属性、RoutedEvent(路由事件) 、Command指令
    DataTemplate数据模版、ControlTemple控件模版等技术
    这些技术就可以实现mvvm设计需求。

    3 MVVM优势?

    1.降低view和model之间的耦合度。
    2.提高代码的重用性和可维护性。
    3.简化了单元测试 
    4.支持双向绑定,数据可以更改界面,界面更新也会影响数据
    5 利用wpf里面强大的特性

    4 wpf实现mvvm设计模式 需要知识点

      1INotifyPropertyChanged,我们在使用Binding绑定数据时候,通过修改数据不会达到界面更新的效果,原因

    就是在数据变化没有发出通知,所以可以这个接口检查到属性变化之后发出通知。

       2ICommand:wpf一种机制,类似于事件绑定,但是又和事件绑定有区别,
       例如有几个页面需要绑定点击的时候关闭窗体的功能,如果是采用事件绑定,可以在每一个页面添加绑定,
      命令可以写在其他类里面,由不同窗体进行调用
      事件绑定具有局限性,
      命令系统内置一部分的命令 ,内置的指令有复制 粘贴、剪切等指令 也可以通过ICommand创建一个命令

  • 相关阅读:
    排序算法.
    logging java日志选择
    APT攻击与防范
    基于java web的学生考勤带请假管理系统——计算机毕业设计
    logstash 采集的文件mv后
    接口自动化测试思路和实战(2):模块化测试脚本框架
    【SOLIDWORKS学习笔记】制作小风扇摇头底座(下)--- 细节优化
    系统总出故障怎么办,或许你该学学稳定性建设!
    012 C++ AVL_tree
    cocos入门3:新建项目
  • 原文地址:https://blog.csdn.net/lu2023_8_6/article/details/138197912