MVVM实时呈现CS架构

2022-04-22 08:00:10   第一文档网     [ 字体: ] [ 阅读: ] [ 文档下载 ]
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。下载word有问题请添加QQ:admin处理,感谢您的支持与谅解。点击这里给我发消息

#第一文档网# 导语】以下是®第一文档网的小编为您整理的《MVVM实时呈现CS架构》,欢迎阅读!
架构,实时,呈现,MVVM

MVVM实时呈现CS架构



使用WPF推崇的MVVM模式,是MVC模式的一种变体。

以数据绑定为核心的思想,可以使得在开发中,数据组织变得十分便利。这里我向大家展示我在一个项目中基于MVVM的实时呈现C/S架构设计,可以实现任何一个客户端修改数据,即立即在所有客户端及数据持久层同步。服务端: 服务端负责处理审编系统与数据库通信,同步各个客户端编目数据,并且进行后台的核心业务逻辑处理。 【通信层】:采用双工模式通信:

ReviewServiceAPI同步返回接口,每个客户端连接上之后都会新建一个实例,负责与该客户端进行交互。客户端成功登陆后会在服务端维护该session并且在一定时间内没有数据交互则自动过期session,释放该客户端占用的资源。其主要提供数据项的增、删、改、查接口及业务接口(如登陆、退出等)

同时采用 订阅者-发布者的C/S通信模式,每个客户端连入时均在服务端构建其侦听器实例,由MessageCenter进行管理,在数据项有修订后,通过MessageCenter向订阅相关消息的客户端可靠的发布消息。同时MessageCenter也负责对过期的订阅进行回收。


【数据访问层】:封装对数据源的访问

数据源可以以各种形式存在,目前以DB+存数据形式。

DB层面主要进行关系数据库到对象实体的绑定(O/R Mapping,并提供各个数据实体类。

内存级别与相关管理器通信,如WatcherManager等。 【核心逻辑层】:封装核心业务逻辑

包括片段合并触发机制、合并算法,编辑项锁定等核心业务。 【工具】

包括日志管理器、任务池等。

客户端:

客户端是编辑、审核人员的操作入口,与服务端通信,完成编目、发布等操作,并且能够多实例同步数据。采MVVM设计模式进行界面、数据的解耦。 【通信层】与服务端通信

Client对服务端接口进行适配,同时负责若干常用数据的缓存。

Listener是订阅的侦听器,侦听服务端发送的相关数据,进行数据的同步。


【数据实体层 Model】原始数据维护者

用来维护与服务端同步的数据,其数据实体的具体数据结构完全映射服务端DAL层维护的数据结构。 【界面显示数据绑定层 ViewModel

使用Model构造界面绑定数据,并界面操作提供命令接口,进行Model层的同步。 【界面层 View

负责数据展示和用户控制响应。对ViewModel层进行数据双向绑定,同步刷新。

异步任务:

客户端和服务端为了使得传输数据趋于平均化、非阻塞,均使用异步任务方式。具体实现为需要进行通信时将任务推入任务池,由后台线程负责任务池的处理。 以常见的update操作为例,下图表示各模块通信协作的时序


本文来源:https://www.dywdw.cn/5cc13a81d2f34693daef5ef7ba0d4a7302766c0b.html

相关推荐
推荐阅读