【无标题】

MVVM了解和序列化与反序列化

MVVM简介
一、MVVM介绍
  MVVM是Model-View-ViewModel(模型-视图-视图模型)的缩写形式,它通常被用于WPF或Silverlight开发。我们可以通过下图来直观的理解MVVM模式:

1、View就是用xaml实现的界面,负责与用户交互,接收用户输入,把数据展现给用户。

2、ViewModel是一个C#类,负责收集需要绑定的数据和命令,聚合Model对象,通过View类的DataContext属性绑定到View,同时也可以处理一些UI逻辑。

3、Model,就是系统中的对象,可包含属性和行为。

三者之间的关系:View对应一个ViewModel,ViewModel可以聚合N个Model,ViewModel可以对应多个View

二、MVVM的优势
MVVM的根本思想就是界面和业务功能进行分离,View的职责就是负责如何显示数据及发送命令,ViewModel的功能就是如何提供数据和执行命令。各司其职,互不影响。在实际的业务场景中我们经常会遇到客户对界面提出建议要求修改,使用MVVM模式开发,当设计的界面不满足客户时,我们仅仅只需要对View作修改,不会影响到ViewModel中的功能代码,减少了犯错的机会。随着功能地增加,系统越来越复杂,相应地程序中会增加View和ViewModel文件,将复杂的界面分离成局部的View,局部的View对应局部的ViewModel,功能点散落在各个ViewModel中,每个ViewModel只专注自己职能之内的事情。ViewModel包含了View要显示的数据,并且知道View的交互代码,所以ViewModel就像一个无形的View。使用MVVM架构具有以下优势

1、易维护

2、灵活扩展

3、易测试

4、用户界面设计师与程序开发者能更好的合作

序列化与反序列化
一、序列化的概念
序列化就是把一个对象保存到一个文件或数据库字段中去,反序列化就是在适当的时候 把这个文件再转化成原来的对象使用。

需要分清楚的概念:对象的序列化而不是类的序列化。对象的序列化表明C#提供了将 运行中的对象(实时数据)写入到硬盘文件或者数据库中,此功能可以运用在需要保留 程序运行时状态信息的环境下。

使用序列化有两个最重要的原因: 一个原因是将对象的状态永久保存在存储媒体中,以便可以在以后重新创建精确的 副本;

另一个原因是通过值将对象从一个应用程序域发送到另一个应用程序域中。

前提:要将对象的类声明为可以序列化。

最主要的作用有:
1、在进程下次启动时读取上次保存的对象的信息
2、在不同的AppDomain或进程之间传递数据
3、在分布式应用系统中传递数据

序列化是把一个内存中的对象的信息转化成一个可以持久化保存的形式,以便于保存或 传输,序列化的主要作用是不同平台之间进行通信,常用的序列化有json、xml、文件等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值