首页 > 其他分享 >mvvm软件架构 个人见解

mvvm软件架构 个人见解

时间:2024-09-25 19:01:24浏览次数:1  
标签:个人见解 这个 里面 mvvm ViewModel ui 软件架构 new public

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace MVVM
{
    //MVVM框架—— Vm层——

///


    /// 主体框架是  数据  ViewModel---》dataservice----》config-----》各个模块
    ///                  ViewModel是全局单列 在这个类里面有成员 dataservice  这个对象里面有各个仪表对象,其中config这个类又是全部仪表构造函数要传的参数,就是各个仪表的里面都有一个config这个类的对象
    ///                  
    ///      ui层  ViewModel这个类里面new出各个ui层的对象,相当于这个类里面就有各个ui的变量 这些变量在ui后台binding ui ui类的构造函数要传dataservice对象进去,就是说,ui在ViewModel里new的时候 把ViewModel类里的dataservice对象传进去。ui类里面是有一个dataservice对象的
    ///      
    /// 数据处理的流程 在仪表或者数据有动画后(动作,接收等)通过 各个仪表的里面的config对象里面的委托调用,在ui类里面把函数注册进去,这样就实现了model到view的数据传递
    /// 
    ///

    public class ViewModel //这个类是框架的开始部分,也就是枢纽,从这个类开始,一边是ui,一边是数据处理   也就是  一边是m 一边是 v
    {
        public static ViewModel Instance = new Lazy(() => new ViewModel()).Value;//把这个类生成一个单例,到时候所有的类都可以访问这个类,也都是通过这个类进行控制的《那个线》的连接

public ViewModel()
        {

FdataService = new DataService();//在vm构造里面new出数据类
            VM1.start = true;//这个只是激活vm1  这个也就是ui类,没有直接new的情况是为了节省软件打开的时候的性能,在用的到时候直接激活,具体写法参考.net 8.0,实际使用是在用到的地方直接使用属性就会激活这个类

}

private DataService FdataService;//数据类,这个是所有具体业务或者叫模块,仪表,功能的类
        public DataService DataService { get { return FdataService; } }//暴露给外面

public bool start;//实列的时候的属性,没有其他的具体意义

public VM1 VM1 => Fvm1 ??= new VM1(FdataService);//暴露属性,使用的时候激活   这个就是ui数据,在xaml里面 binding  
        private VM1 Fvm1;

public VM2 VM2 => Fvm2 ??= new VM2(FdataService);//这个就是ui数据,在xaml里面 binding  ui的构造函数要将数据类传进去
        private VM2 Fvm2;

}
}

标签:个人见解,这个,里面,mvvm,ViewModel,ui,软件架构,new,public
From: https://www.cnblogs.com/luoqicheng/p/18431994

相关文章

  • 万象更新 Html5 - vue.js: vue 模板语法基础(MVVM, 插值, 指令等)
    源码https://github.com/webabcd/Html5作者webabcd万象更新Html5-vue.js:vue模板语法基础(MVVM,插值,指令等)示例如下:vue\basic.html<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>vue模板语法基础......
  • 基于django+vue基于MVVM架构家政服务平台【开题报告+程序+论文】-计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着社会经济的快速发展与生活节奏的加快,现代家庭对于家政服务的需求日益增长,从日常清洁、照料老人儿童到专业护理、家居维修等,家政服务已......
  • Free5GC源码研究(2) - 单个NF的软件架构
    前文我们总览了free5gc的总体软件架构。整一个free5gc系统又由几个NF(NetworkFunction)组成,所以本文继续深入研究单个NF的软件架构。要研究NF的软件架构,最直接的方式是找一个简单的NF来回观摩。free5gc/ausf算是比较简单的一个,然而我发现了一个更简单的NF,叫做andy89923nf-exampl......
  • 系统架构设计师教程 第10章 10.1 软件架构演化和定义的关系 笔记
    10.1软件架构演化和定义的关系★★★☆☆10.1.1演化的重要性软件架构的演化就是软件整体结构的演化,演化过程涵盖软件架构的全生命周期,包括软件架构需求的获取、软件架构建模、软件架构文档、软件架构实现以及软件架构维护等阶段。首先,软件架构作为软件系统的骨架支撑......
  • Springboot基于MVVM的微小型人力资源管理系统v011j(程序+源码+数据库+调试部署+开发环
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、研究背景与意义随着企业规模的扩大,人力资源管理成为企业运营中不可或缺的一环。然而,对于微小型企业而言,传统的人力资源管理系统往往过于庞大复......
  • 科普文:软件架构数据库系列之【MySQL的sql_mode参数】
    概叙科普文:软件架构数据库系列之【MySQL解析器和优化器】-CSDN博客科普文:软件架构数据库系列之【MySQL查询优化器中的优化策略optimizer_switch】-CSDN博客科普文:软件架构数据库系列之【MySQL执行计划Extra梳理】-CSDN博客科普文:软件架构数据库系列之【MySQL控制查询优化器......
  • 软件架构:问题起源和应对
    在职业的某个阶段,许多开发人员都会面对这样一个挑战:软件架构变得非常复杂,缺乏清晰的组织结构,甚至对最有经验的开发者来说也是一项艰巨的任务。尤其是在加入一家新公司时,这种情况更为常见。你可能会被要求接手一个遗留项目,或者加入一个已经在进行的团队。这时候,最初的反应往往是沮丧......
  • WPF MVVM入门系列教程(一、MVVM模式介绍)
    为什么写这些博客?还记得早些年刚工作的那会,公司的产品从Delphi转成了WPF(再早些年是mfc)。当时大家也是处于一个对WPF探索的阶段,所以有很多概念都不是非常清楚。但是大家都想堆技术,就提出使用MVVM,我那会是第一次听到MVVM,在网上看了一些资料后,也难以理解,后面也是硬着头皮在写。有......
  • 科普文:软件架构数据库系列之【MySQL5.7和MySQL 8.0的差异】
    引言MySQL作为最常用的开源关系型数据库管理系统之一,一直在不断发展和改进。随着时间的推移,MySQL也经历了多个版本的演进,每个版本都带来了一系列重要的更新和改进。其中,MySQL5.7和MySQL8是两个备受关注的版本,它们之间存在一些关键的差异。本文将深入探讨这两个版本之间的主......
  • 科普文:软件架构数据库系列之【MySQL5.7的系统表梳理】
    概叙MySQL5.7的系统中包含了多个重要的系统表,这些表分布在不同的数据库中,提供了关于数据库结构、权限、性能等关键信息的访问。mysql>\s;--------------mysqlVer14.14Distrib5.7.21,forWin64(x86_64)Connectionid:3Currentdatabase:Currentuser:......