当前位置: 首页 > news >正文

RDP、VNC、SSH 三种登陆方式的差异解析

一、引言

在计算机系统管理和远程访问的领域中,RDP(Remote Desktop Protocol,远程桌面协议)、VNC(Virtual Network Computing,虚拟网络计算)和 SSH(Secure Shell)是三种广泛应用的远程登录技术。它们各自有着独特的特点、适用场景和安全机制,对于系统管理员、网络工程师以及需要远程访问计算机资源的用户来说,深入理解这三种登录方式的差异是十分重要的。这有助于选择最合适的工具来满足不同的远程访问需求,同时保障系统的安全性和性能。

二、RDP(远程桌面协议)

(一)基本原理

  • RDP 是微软公司开发的一种多通道的协议,它基于 TCP/IP 协议,主要用于 Windows 操作系统之间的远程桌面连接。其工作原理是在客户端和服务器端之间建立连接后,服务器将桌面环境(包括图形界面、鼠标和键盘输入等)以图形化的方式传输到客户端,客户端发送的操作指令(如鼠标点击、键盘输入等)则被服务器接收并执行相应的操作。
  • 例如,在一个企业网络环境中,系统管理员可以使用 RDP 从自己的办公电脑连接到公司服务器,就好像直接坐在服务器前面操作一样,看到的是完整的服务器桌面,包括各种应用程序图标、任务栏等。

(二)主要特点

  • 图形化界面友好:RDP 提供了非常直观的图形化远程桌面体验。用户可以像在本地计算机上一样操作远程计算机的桌面环境,能够方便地打开、关闭应用程序,进行文件管理等操作。这种图形化的操作方式对于那些需要使用复杂图形界面应用程序(如 CAD 软件、图形设计软件等)的用户来说非常方便。
  • 专为 Windows 设计:RDP 在 Windows 操作系统上集成度非常高,在 Windows Server 系统中更是提供了丰富的管理功能。它可以方便地进行用户权限管理、远程服务器配置等操作。例如,通过 RDP 连接到 Windows Server,可以利用服务器管理器工具来配置各种服务器角色,如安装和配置 IIS(Internet Information Services)用于网站托管。
  • 支持多种资源重定向:RDP 允许用户将本地设备的资源(如本地打印机、磁盘驱动器等)重定向到远程计算机。这样,在远程桌面环境中可以直接使用本地的打印机进行打印,或者访问本地磁盘中的文件,增强了远程访问的实用性。

(三)安全机制

  • 身份验证:RDP 通常使用 Windows 操作系统的用户账户和密码进行身份验证。可以通过设置强密码策略、启用多因素认证(如智能卡认证)等方式来增强安全性。例如,在一些对安全要求较高的企业环境中,会为员工配备智能卡,员工在使用 RDP 登录时,除了输入用户名和密码外,还需要插入智能卡进行认证。
  • 加密传输:RDP 会话数据可以进行加密传输,以防止数据在网络传输过程中被窃取或篡改。其加密强度可以在服务器端进行配置,一般来说,使用高级加密标准(AES)等强加密算法来保障数据安全。

(四)适用场景

  • Windows 环境下的远程管理和办公:对于企业内部的 Windows 服务器管理和基于 Windows 的办公应用远程访问,RDP 是一个很好的选择。例如,企业的 IT 部门可以使用 RDP 来远程维护和配置公司内部的文件服务器、邮件服务器等,普通员工也可以通过 RDP 远程访问公司内部的办公电脑,进行文档编辑、数据查询等工作。
  • 需要完整图形界面体验的应用场景:如前所述,对于那些依赖图形界面操作的应用程序,RDP 能够提供出色的远程访问体验,确保用户能够高效地使用这些应用程序,不受远程连接的影响。

三、VNC(虚拟网络计算)

(一)基本原理

  • VNC 是一种跨平台的远程桌面访问技术,它采用客户端 - 服务器架构。服务器端运行 VNC 服务软件,负责捕获本地桌面的图像信息并将其发送给客户端;客户端软件则负责接收并显示这些图像信息,同时将用户的鼠标和键盘输入发送回服务器端。与 RDP 不同的是,VNC 传输的主要是桌面图像的像素信息,而不是像 RDP 那样传输完整的桌面环境描述。
  • 例如,在一个混合操作系统环境(包含 Windows、Linux 和 Mac 等)的公司中,VNC 可以用于实现跨平台的远程桌面访问。假设用户在 Windows 电脑上安装了 VNC 客户端,就可以连接到运行在 Linux 服务器上的 VNC 服务器,查看和操作 Linux 服务器的桌面。

(二)主要特点

  • 跨平台性:VNC 的一个显著优势是它的跨平台能力。它几乎可以在所有主流操作系统(如 Windows、Linux、Mac 等)上运行,无论是服务器端还是客户端。这使得它在异构网络环境中非常有用,例如在一个同时使用多种操作系统的科研机构或开发团队中,可以方便地实现远程桌面共享和协作。
  • 简单灵活:VNC 的架构相对简单,易于理解和部署。它不需要像 RDP 那样依赖特定操作系统的复杂功能。对于小型网络环境或者个人用户来说,安装和配置 VNC 服务器和客户端都比较容易。例如,在一个小型工作室中,用户可以快速在自己的电脑上安装 VNC 服务器软件,然后通过其他设备上的 VNC 客户端进行远程访问。
  • 可定制性强:VNC 提供了一定程度的定制化功能。用户可以根据自己的需求调整图像质量、帧率等参数。如果网络带宽有限,可以降低图像质量来减少数据传输量,保证远程连接的流畅性;如果对显示效果要求较高,则可以提高图像质量。

(三)安全机制

  • 密码认证:VNC 通常使用简单的密码认证方式。不过,其默认的密码认证方式可能存在一定的安全风险,因为密码可能以明文形式存储在某些配置文件中。为了提高安全性,一些 VNC 软件提供了更高级的认证方式,如通过 SSL/TLS 加密通道进行认证。
  • 加密传输(可选):虽然 VNC 本身的传输可以是不加密的,但可以通过使用第三方工具或者一些 VNC 软件自带的加密功能来对传输的数据进行加密。例如,通过配置 VNC 服务器使用 SSL/TLS 加密,确保桌面图像和用户输入数据在网络上的安全传输。

(四)适用场景

  • 跨平台的远程桌面访问和协作:在多操作系统环境下,当需要在不同操作系统之间进行远程桌面访问时,VNC 是首选。例如,软件开发团队中,程序员可能需要在 Windows 电脑上访问运行在 Linux 服务器上的开发环境,或者设计师需要从 Mac 电脑连接到 Windows 电脑来获取设计素材,VNC 都能很好地满足这些需求。
  • 简单的远程协助和监控场景:对于一些小型企业或家庭用户,VNC 可以用于简单的远程协助。例如,当用户遇到电脑问题时,技术支持人员可以通过 VNC 远程连接到用户的电脑,查看问题并进行解决。同时,也可以用于远程监控,如家长监控孩子使用电脑的情况等。

四、SSH(Secure Shell)

(一)基本原理

  • SSH 是一种网络协议,主要用于在不安全的网络环境中安全地进行远程登录和其他网络服务。它采用了客户端 - 服务器模型,通过加密和认证机制来保障通信的安全。当客户端通过 SSH 连接到服务器时,会首先进行密钥交换和身份认证。认证通过后,客户端可以在服务器上执行命令,服务器将命令的执行结果返回给客户端。与 RDP 和 VNC 不同的是,SSH 主要侧重于命令行界面的远程访问,而不是图形化桌面。
  • 例如,在一个服务器机房管理场景中,系统管理员可以通过 SSH 从自己的办公电脑连接到机房中的服务器。在连接成功后,管理员可以在命令行中输入诸如 “ls”(列出文件目录)、“cp”(复制文件)等命令来管理服务器上的文件和系统设置。

(二)主要特点

  • 高度安全性:SSH 的核心特点是其强大的安全机制。它使用公钥 - 私钥对进行身份认证,这种认证方式比传统的密码认证更加安全。同时,SSH 对传输的数据进行加密,包括命令和命令执行结果等所有通信数据。例如,在互联网上进行远程服务器管理时,即使数据传输经过多个不安全的网络节点,由于 SSH 的加密保护,数据也不会被窃取或篡改。
  • 命令行操作高效:SSH 适合那些熟悉命令行操作的用户。对于系统管理任务,如服务器配置、软件安装、日志查看等,通过命令行操作可以更加高效和灵活。而且,SSH 可以通过脚本语言(如 Python、Shell 脚本等)进行自动化操作。例如,系统管理员可以编写一个 Shell 脚本,通过 SSH 连接到多台服务器,并在这些服务器上批量安装软件或者更新系统配置。
  • 网络适应性强:SSH 对网络带宽的要求相对较低,因为它主要传输的是文本命令和简短的执行结果。这使得它在网络环境较差(如低带宽、高延迟的网络)下仍然能够正常工作。例如,在一些偏远地区通过移动网络连接到服务器时,SSH 可以提供相对稳定的远程访问。

(三)安全机制

  • 公钥 - 私钥认证:SSH 支持公钥 - 私钥认证方式。用户在客户端生成一对公钥和私钥,将公钥上传到服务器。当客户端连接服务器时,服务器使用存储的公钥来验证客户端提供的私钥是否匹配。这种认证方式可以有效防止密码被窃取导致的安全问题。
  • 加密传输:SSH 使用多种加密算法(如 AES、3DES 等)对传输的数据进行加密。在建立连接时,客户端和服务器会协商加密算法,确保通信过程的安全性。而且,SSH 还支持通过代理服务器等方式进一步增强安全性。

(四)适用场景

  • 服务器管理和维护:SSH 是服务器管理的常用工具,尤其是对于 Linux 和 Unix 服务器。系统管理员可以通过 SSH 远程登录到服务器,进行各种系统管理操作,如配置网络、安装软件、管理用户账户等。在大型数据中心或者云计算环境中,SSH 更是必不可少的工具。
  • 安全的文件传输和命令执行:除了远程登录,SSH 还支持安全的文件传输(通过 SCP 或 SFTP 协议,它们是基于 SSH 的)。用户可以在本地和远程服务器之间安全地传输文件。同时,SSH 也可以用于在远程服务器上执行单个命令,这对于一些简单的任务(如查看服务器状态)非常方便。

五、三种登录方式的比较

(一)图形化界面与命令行界面

  • RDP 和 VNC:这两种方式都侧重于提供图形化的远程桌面访问。RDP 在 Windows 图形界面环境下表现出色,能够提供与本地操作几乎无异的体验;VNC 则以跨平台的图形化访问为优势,虽然在图像传输机制上与 RDP 略有不同,但同样可以实现完整的桌面操作。
  • SSH:SSH 主要提供命令行界面的远程访问。对于不需要图形界面,只需要执行命令、管理文件和系统配置等操作的用户来说,SSH 是一种高效的工具。它的命令行操作方式适合系统管理员和开发人员等熟悉命令行语法的人群。

(二)安全性

  • RDP:通过 Windows 的用户账户认证和加密传输来保障安全。在企业环境中,可以结合 Windows 的安全策略(如组策略、活动目录等)来增强安全性。然而,由于其主要应用于 Windows 环境,可能会受到 Windows 系统本身安全漏洞的影响。
  • VNC:默认的安全机制相对较弱,但可以通过加密传输和高级认证方式来提高安全性。其跨平台的特点也使得在不同操作系统上配置安全设置可能会面临一些挑战,需要用户更加注意安全配置。
  • SSH:以强大的公钥 - 私钥认证和加密传输为主要安全保障。它的安全机制在行业内被广泛认可,适用于对安全要求极高的场景,如远程服务器管理和数据传输。

(三)平台兼容性

  • RDP:主要用于 Windows 操作系统之间的远程连接,虽然也有一些非官方的工具可以实现 RDP 在其他操作系统上的部分功能,但整体上对 Windows 的依赖程度较高。
  • VNC:具有出色的跨平台兼容性,可以在 Windows、Linux、Mac 等多种主流操作系统上运行,这使得它在异构网络环境中的应用非常广泛。
  • SSH:几乎可以在所有操作系统上使用,包括 Windows、Linux、Mac 等。无论是作为服务器端还是客户端,SSH 都能很好地适应不同的操作系统环境。

(四)性能和带宽要求

  • RDP:由于传输完整的桌面环境,包括图形、音频等多种信息,对带宽要求相对较高。在低带宽环境下,可能会出现画面卡顿、延迟等问题。不过,在高速网络下,能够提供流畅的图形化远程桌面体验。
  • VNC:主要传输桌面图像的像素信息,其性能和带宽要求可以根据用户的设置进行调整。在带宽有限的情况下,可以通过降低图像质量来减少数据传输量,保证基本的远程桌面操作。
  • SSH:主要传输文本命令和执行结果,对带宽要求较低。即使在网络带宽较差的情况下,也能够正常进行命令行操作,不会受到太大的影响。

六、结论

RDP、VNC 和 SSH 是三种不同的远程登录方式,各有其特点、适用场景和安全机制。RDP 适用于 Windows 环境下的图形化远程管理和办公,提供完整的桌面体验;VNC 以跨平台的图形化远程访问和简单灵活的部署为优势,适用于多操作系统环境下的远程协作和简单协助;SSH 则侧重于命令行界面的远程操作,以高度的安全性和网络适应性在服务器管理和安全文件传输等领域发挥重要作用。在实际应用中,用户需要根据自己的具体需求(如是否需要图形界面、操作系统平台、安全要求、网络环境等)来选择最合适的远程登录方式。

展开介绍一下RDP的工作原理

写一篇1000字的RDP登陆方式的优势解析

生成一篇5000字的RDP、VNC、SSH三种登陆方式的差异对比文档

相关文章:

RDP、VNC、SSH 三种登陆方式的差异解析

一、引言 在计算机系统管理和远程访问的领域中,RDP(Remote Desktop Protocol,远程桌面协议)、VNC(Virtual Network Computing,虚拟网络计算)和 SSH(Secure Shell)是三种广…...

3d 可视化库 vister部署笔记

目录 vister 开源地址: python版本: 在python3.10以上版本安装 viser, 测试ok的案例: 立方体mesh选中 SMPL-X可视化 ok 推理代码: vister 开源地址: GitHub - nerfstudio-project/viser: Web-based 3D visualization + Python python版本: 在python3.10以上版本…...

操作系统八股文学习笔记

总结来自于javaguide,本文章仅供个人学习复习 javaguide操作系统八股 文章目录 操作系统基础什么是操作系统?操作系统主要有哪些功能?常见的操作系统有哪些?用户态和内核态为什么要有用户态和内核态?只有一个内核态不行嘛?用户态和内核态是如何切换的?系统调用 进程和线程…...

k8s基础(6)—Kubernetes-存储

Kubernetes-存储概述 k8s的持久券简介 Kubernetes的持久卷(PersistentVolume, PV)和持久卷声明(PersistentVolumeClaim, PVC)为用户在Kubernetes中使用卷提供了抽象。PV是集群中的一块存储,PVC是对这部分存储的请求。…...

K8S--配置存活、就绪和启动探针

目录 1 本人基础环境2 目的3 存活、就绪和启动探针介绍3.1 存活探针3.2 就绪探针3.3 启动探针 4 探针使用场景4.1 存活探针4.2 就绪探针4.3 启动探针 5 配置存活、就绪和启动探针5.1 定义存活探针5.2 定义一个存活态 HTTP 请求接口5.3 定义 TCP 的就绪探针、存活探测5.4 定义 g…...

永久免费工业设备日志采集

永久免费: <下载> <使用说明> 用途 定时全量或增量采集工控机,电脑文件或日志. 优势 开箱即用: 解压直接运行.不需额外下载.管理设备: 后台统一管理客户端.无人值守: 客户端自启动,自更新.稳定安全: 架构简单,兼容性好,通过授权控制访问. 架构 技术架构: Asp…...

详解 Docker 启动 Windows 容器第二篇:技术原理与未来发展方向

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言所遇问题问题 1&#xff1a;Docker 容器启动的 Windows 实例调用了 KVM 驱动&#xff0c;但为什么用 virsh list 命令查不到虚拟机&#xff1f;这意味着它不是一…...

HC32L136K8TA单片机输出互为反相双路PWM

可这里可以参考stm32的代码看看 HC32L136K8TA的机制跟32差不多 以使用一个通用定时器输出两路互为反相的 PWM 波&#xff0c;但需要通过一定的配置技巧实现。与高级定时器&#xff08;如 STM32 的 TIM1、TIM8 等&#xff09;不同&#xff0c;通用定时器通常没有直接的互补输出…...

数据分析-55-时间序列分析之获取时间序列的自然周期时间区间

文章目录 1 获取某年的总天数1.1 get_year_days()1.2 应用函数2 获取某年的总周数2.1 get_year_weeks()2.2 应用函数3 获取某日期属于某年的周数3.1 get_time_yearweek()3.2 应用函数4 获取某年某周的开始时间和结束时间4.1 get_week_start_end()4.2 应用函数5 获取往前num周期…...

Java Stream流操作List全攻略:Filter、Sort、GroupBy、Average、Sum实践

在Java 8及更高版本中&#xff0c;Stream API为集合处理带来了革命性的改变。本文将深入解析如何运用Stream对List进行高效的操作&#xff0c;包括筛选&#xff08;Filter&#xff09;、排序&#xff08;Sort&#xff09;、分组&#xff08;GroupBy&#xff09;、求平均值&…...

Sentaurus TCAD学习笔记:transform指令

目录 一、transform指令简介二、transform指令的实现1.cut指令2.flip指令3.rotate指令4.stretch指令5.translate指令6.reflect指令 三、transform指令示例 一、transform指令简介 在Sentaurus中&#xff0c;如果需要对器件进行翻转、平移等操作&#xff0c;可以通过transform指…...

vscode支持ssh远程开发

文章目录 一、生成ssh使用的公钥/密钥对二、使用vscode通过ssh连接服务器1.安装插件2.配置文件3.连接服务器4.新建文件夹&#xff0c;存放不同的任务5.为不同的项目选择不同的conda环境 三、使用scp命令与服务器互传文件、文件夹1.检查Windows 系统是否支持scp命令2.在Windows系…...

Java线程详解

一、线程的基本概念 1. 什么是线程&#xff1f; 线程是程序执行的一个单元&#xff0c;它是进程中的一个实体&#xff0c;是被系统独立调度和分派的基本单位。一个进程可以包含多个线程&#xff0c;这些线程共享进程的资源&#xff0c;如内存空间和文件句柄&#xff0c;但每个…...

java -jar启动项目报错:XXX.jar中没有主清单属性

XXX.jar中没有主清单属性 1、错误复现2、错误原因3、解决方案 java -jar启动项目报错&#xff1a;XXX.jar中没有主清单属性 1、错误复现 今天使用springboot给项目打了jar包&#xff0c;使用命令启动时报错&#xff0c;截图如下&#xff1a; 2、错误原因 项目的pom文件配置如…...

【Vue - Element 】实现表单输入框的远程搜索功能

需求 表单是一个常见的元素&#xff0c;而在表单中&#xff0c;常常需要用户从大量的数据中选择一个或多个选项。 为了提高用户体验&#xff0c;提供远程搜索功能可以帮助用户快速找到所需的选项&#xff0c;而不是从冗长的下拉列表中手动查找。 以该需求为例&#xff0c;我…...

Linux(Centos 7.6)命令详解:split

1.命令作用 Linux系统中的一个用于拆分文件的命令。它可以将一个大文件拆分成多个小文件&#xff0c;以便于传输、存储或处理 2.命令语法 Usage: split [OPTION]... [INPUT [PREFIX]] Usage: split [选项]... [输入文件] [输出文件前缀] 3.参数详解 OPTION: -a, --suffi…...

八股学习 Redis

八股学习 Redis 使用场景常见问题问题1、2示例场景缓存穿透解决方案一解决方案二 问题3示例场景缓存击穿解决方案 问题4示例场景缓存雪崩解决方案 问题5示例场景双写一致性强一致方案允许延时一致方案 问题6RDB方式AOF方式两种方式对比 问题7示例场景惰性删除定期删除 使用场景…...

如何通过高防服务隐藏服务器源IP

在网络安全领域&#xff0c;隐藏服务器的真实源IP地址是保护服务器免受直接攻击的重要手段之一。暴露的源IP地址容易成为黑客攻击的目标&#xff0c;尤其是DDoS攻击、端口扫描和暴力破解等威胁。高防服务&#xff08;如阿里云盾、AWS Shield等&#xff09;不仅提供强大的流量清…...

【WEB】网络传输中的信息安全 - 加密、签名、数字证书与HTTPS

文章目录 1. 概述2. 网络传输安全2.1.什么是中间人攻击2.2. 加密和签名2.2.1.加密算法2.2.2.摘要2.2.3.签名 2.3.数字证书2.3.1.证书的使用2.3.2.根证书2.3.3.证书链 2.4.HTTPS 1. 概述 本篇主要是讲解讲一些安全相关的基本知识&#xff08;如加密、签名、证书等&#xff09;&…...

借助Claude实现Playwright的自动化(MCP Server)

借助Claude实现Playwright的自动化(MCP Server) MCP Server自己开发也是可以的,现在也有很多开箱即用的MCP Server,可以在https://github.com/modelcontextprotocol/servers中查找 Playwright的MCP Server Playwright的MCP Server是社区开发的,它能够为LLM提供操作浏览器的…...

浅谈 React Hooks

React Hooks 是 React 16.8 引入的一组 API&#xff0c;用于在函数组件中使用 state 和其他 React 特性&#xff08;例如生命周期方法、context 等&#xff09;。Hooks 通过简洁的函数接口&#xff0c;解决了状态与 UI 的高度解耦&#xff0c;通过函数式编程范式实现更灵活 Rea…...

业务系统对接大模型的基础方案:架构设计与关键步骤

业务系统对接大模型&#xff1a;架构设计与关键步骤 在当今数字化转型的浪潮中&#xff0c;大语言模型&#xff08;LLM&#xff09;已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中&#xff0c;不仅可以优化用户体验&#xff0c;还能为业务决策提供…...

React第五十七节 Router中RouterProvider使用详解及注意事项

前言 在 React Router v6.4 中&#xff0c;RouterProvider 是一个核心组件&#xff0c;用于提供基于数据路由&#xff08;data routers&#xff09;的新型路由方案。 它替代了传统的 <BrowserRouter>&#xff0c;支持更强大的数据加载和操作功能&#xff08;如 loader 和…...

IGP(Interior Gateway Protocol,内部网关协议)

IGP&#xff08;Interior Gateway Protocol&#xff0c;内部网关协议&#xff09; 是一种用于在一个自治系统&#xff08;AS&#xff09;内部传递路由信息的路由协议&#xff0c;主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...

Linux简单的操作

ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...

【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)

可以使用Sqliteviz这个网站免费编写sql语句&#xff0c;它能够让用户直接在浏览器内练习SQL的语法&#xff0c;不需要安装任何软件。 链接如下&#xff1a; sqliteviz 注意&#xff1a; 在转写SQL语法时&#xff0c;关键字之间有一个特定的顺序&#xff0c;这个顺序会影响到…...

[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...

GruntJS-前端自动化任务运行器从入门到实战

Grunt 完全指南&#xff1a;从入门到实战 一、Grunt 是什么&#xff1f; Grunt是一个基于 Node.js 的前端自动化任务运行器&#xff0c;主要用于自动化执行项目开发中重复性高的任务&#xff0c;例如文件压缩、代码编译、语法检查、单元测试、文件合并等。通过配置简洁的任务…...

uniapp 小程序 学习(一)

利用Hbuilder 创建项目 运行到内置浏览器看效果 下载微信小程序 安装到Hbuilder 下载地址 &#xff1a;开发者工具默认安装 设置服务端口号 在Hbuilder中设置微信小程序 配置 找到运行设置&#xff0c;将微信开发者工具放入到Hbuilder中&#xff0c; 打开后出现 如下 bug 解…...

上位机开发过程中的设计模式体会(1):工厂方法模式、单例模式和生成器模式

简介 在我的 QT/C 开发工作中&#xff0c;合理运用设计模式极大地提高了代码的可维护性和可扩展性。本文将分享我在实际项目中应用的三种创造型模式&#xff1a;工厂方法模式、单例模式和生成器模式。 1. 工厂模式 (Factory Pattern) 应用场景 在我的 QT 项目中曾经有一个需…...