自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(121)
  • 收藏
  • 关注

原创 使用 MailKit 发送邮件并实现验证码功能

通过上述步骤,我们成功实现了使用MailKit发送包含验证码的邮件功能。此方法不仅适用于 QQ 邮箱,还可以根据不同的邮件服务商调整 SMTP 服务器的地址和端口,从而实现与其他邮件服务的兼容。通过这种方式,您可以轻松地为用户提供验证码功能,提升系统的安全性和用户体验。

2025-08-05 10:49:52 383

原创 C# 实现:动态规划解决 0/1 背包问题

我们可以通过一个二维数组dp[i][j]i表示前i个物品(从第 1 个物品到第i个物品)。j表示背包的容量。dp[i][j]表示在前i个物品中,背包容量为j时,能够获得的最大价值。0/1 背包问题是一个经典的动态规划问题,通过合理的状态定义和状态转移方程,我们可以有效地解决这个问题。尽管其时间复杂度是O(n * C),但对于大多数实际问题,动态规划的解决方案依然能够高效地提供最优解。这种方法不仅限于背包问题,还可以广泛应用于其他类型的优化问题,如资源分配、任务调度等。

2025-07-21 22:46:45 992

原创 在 C# 中调用 Python 脚本:实现跨语言功能集成

随着现代应用程序的复杂性和多样性不断增加,跨语言集成已成为一种常见的开发实践。C# 和 Python 是两种广泛使用的编程语言,C# 主要用于开发桌面应用程序、Web 服务和企业级系统,而 Python 因其简洁易用和强大的第三方库在数据分析、机器学习、自动化等领域占据了重要地位。在许多情况下,我们需要将这两种语言结合起来使用,以便在 C# 应用中利用 Python 的强大功能。本文将详细介绍如何在 C# 中调用 Python 脚本,并通过传递参数实现功能的跨语言集成。

2025-07-13 18:22:38 939

原创 LazyCache 在 .NET Core 中的使用与优化指南

摘要:LazyCache是.NET Core中轻量级的内存缓存库,通过延迟加载机制优化性能。文章介绍了其核心概念、安装配置方法及基本使用场景,包括缓存数据库查询、设置过期时间和手动移除缓存等操作。还探讨了批量缓存、结合MemoryCache等高级用法,并分析了LazyCache简洁易用、延迟加载等优势。该库特别适用于计算密集型任务,能有效减少重复计算,提升Web应用性能。

2025-07-09 10:54:42 759

原创 NETCore.Encrypt:一个功能强大的.NET加密解密工具库

NETCore.Encrypt是一个功能强大的.NET加密库,支持AES、DES、RSA、MD5、SHA等多种加密算法。该库提供EncryptProvider类简化加密操作,兼容.NET Framework、Core和Standard环境。通过NuGet即可安装,使用简单,如AES加密只需调用AESEncrypt方法。此外还提供字符串扩展方法,如"string".MD5()直接生成哈希值。该库由开发者myloveCc维护,开源在GitHub,适合需要数据加密的.NET开发者使用。

2025-07-03 22:45:49 802

原创 使用 Microsoft.SemanticKernel 与国产大模型 API 集成实现对话系统

本文介绍了如何使用Microsoft.SemanticKernel库集成国产大模型ZhipuAI,构建对话系统。首先需安装SemanticKernel库并获取API密钥,然后通过内核配置和自定义HTTP处理器将请求路由至ZhipuAPI。核心代码展示了如何实现用户输入与AI回复的交互逻辑,包括对话历史管理。该方法支持灵活切换不同AI后端,为开发本地化AI应用提供了便利。

2025-07-02 13:58:52 549

原创 SoapCore 全面介绍:在 .NET Core 中实现 SOAP 服务的现代解决方案

在现代微服务和 REST API 成为主流的今天,SOAP(Simple Object Access Protocol)看似已经被边缘化,但在许多企业和政务系统中,SOAP 仍然是重要的通信协议。特别是在金融、保险、医疗、政府等行业,很多老系统和第三方接口仍然依赖 SOAP 协议。然而,自从 .NET Core 推出后,原本用于构建 SOAP 服务的 WCF(Windows Communication Foundation)在跨平台的 .NET Core 中就不再被支持。

2025-07-01 21:43:00 955

原创 深入探索 Pdfium.Net:在 .NET 中处理和渲染 PDF 文件

本文介绍了Pdfium.Net这一基于Google PDFium引擎的.NET封装库,详解了其在PDF处理中的核心功能与应用。内容包括安装方法、基础操作(如渲染PDF页面为图像、获取页数),以及高级功能(页面缩放旋转、文本提取),并演示了在Windows Forms和WPF中的整合应用。Pdfium.Net以其高效渲染和简洁API为.NET开发者提供了强大的PDF处理解决方案,适用于文档展示、内容提取等多种场景,是提升PDF处理效率的理想工具。

2025-06-27 08:27:36 738

原创 未能加载文件或程序集”ManagedZLib.DLL”或它的某一个依赖项,找不到指定的模块

摘要:解决应用程序兼容性问题的方法:1)启用32位应用程序池:在IIS中找到对应网站的应用池,通过"高级设置"将"启用32位应用程序"设为true;2)若问题仍未解决,可能是缺少msvcr71.dll文件,需下载该文件并放入系统目录:64位系统放在sysWOW64,32位系统放在对应系统目录。两个步骤结合使用可解决常见的32位程序兼容性问题。

2025-06-26 11:14:07 177

原创 EventSourcing.NetCore:基于事件溯源模式的 .NET Core 库

事件溯源是一种将系统状态转化为一系列事件的架构模式。在传统的数据库设计中,系统状态通常是通过存储最新的值来管理的;而在事件溯源中,所有的变更都是通过“事件”来表示,并以事件流的形式存储。这些事件可以用来重建任何时刻的系统状态。简言之,事件溯源通过捕捉状态变化的所有事件,而不是直接存储当前的状态,从而提供了更好的数据一致性、可追溯性和灵活性。事件的存储可以是持久化到数据库、消息队列,或者是其他的持久化机制。

2025-06-15 14:48:32 722

原创 CZGL.SystemInfo:跨平台的系统信息获取库

CZGL.SystemInfo是一个跨平台的系统信息获取开源库,支持Windows和Linux系统。该库通过.NET Runtime API或计算方式获取硬件信息、资源数据和进程监控,具有高性能计算与缓存机制。特点包括无额外依赖、轻量级设计,并提供dotnet命令行工具方便使用。功能涵盖CPU/内存/磁盘信息采集、实时资源监控等,适用于系统监控、性能分析、自动化部署等场景。项目采用Windows平台的PerformanceCounter和Linux的/proc文件系统实现跨平台兼容,可通过NuGet或源码安

2025-06-08 16:35:05 598

原创 HarmonyOS 开发基本用法详细讲解

摘要:本文系统介绍了HarmonyOS开发的基础流程,涵盖环境搭建、项目结构、核心开发概念和分布式能力等关键内容。首先讲解使用DevEco Studio搭建开发环境,创建项目的基本步骤;其次分析典型项目结构,解释Ability组件和UI开发方法;重点阐述分布式任务调度、数据管理和设备发现等跨设备协同功能;最后说明应用打包、调试测试及发布流程,为开发者提供HarmonyOS应用开发的完整入门指导。

2025-06-01 02:00:00 1076

原创 SQL Server 事务详解:概念、特性、隔离级别与实践

摘要:数据库事务是具有ACID特性的逻辑工作单元,包含原子性(全执行或全回滚)、一致性(状态转换一致)、隔离性(并发互不干扰)和持久性(提交即永久)。SQL Server支持显式、隐式和自动提交三种事务模式,提供BEGIN/COMMIT/ROLLBACK等控制语句,以及READ UNCOMMITTED到SERIALIZABLE等多级隔离。事务设计应保持简短,合理选择隔离级别,结合TRY-CATCH处理错误,避免长事务和死锁。优化事务性能需减少锁争用、优化查询、使用批量操作等,以平衡数据一致性与系统效率。

2025-05-31 21:41:46 1389 1

原创 深入解析 Dotnet-Boxed.Framework:提升 .NET 开发效率的利器

Dotnet-Boxed.Framework是一个开箱即用的.NET开发框架,通过模块化设计简化常见开发任务。其核心模块包括基础设施配置(Boxed.Infrastructure)、API开发(Boxed.Api)、数据访问(Boxed.Data)、身份认证(Boxed.Identity)、消息队列(Boxed.Messaging)和缓存管理(Boxed.Cache)。该框架优势在于提高开发效率、简化代码结构、增强可维护性和扩展性。开发者可通过NuGet安装所需模块,在Startup中配置后即可使用。框架特

2025-05-31 11:46:54 1348 2

原创 深入了解 C# 异步编程库 AsyncEx

《AsyncEx:提升C#异步编程效率的强大工具》摘要:AsyncEx是由Stephen Cleary开发的开源C#库,专为解决复杂异步编程场景而设计。该库扩展了C#原生async/await模型,提供异步锁(AsyncLock)、异步信号量(AsyncSemaphore)、异步队列(AsyncQueue)等核心功能,有效应对任务并发控制、资源同步等常见挑战。通过避免线程阻塞、防止死锁、简化异步事件处理,AsyncEx显著提升代码清晰度与可维护性,同时增强系统并发性能。其简洁API设计便于集成,已成为处理高

2025-05-29 23:18:37 1004

原创 使用子查询在 SQL Server 中进行数据操作

本文介绍了SQLServer中子查询的使用方法,包括创建部门表和员工表、插入测试数据,以及四种常见子查询类型:标量子查询(用于比较单个值)、列子查询(配合IN使用)、多行子查询(结合ANY/ALL运算符)和关联子查询(引用外部查询)。文章通过薪资分析、部门筛选等实际案例演示子查询应用,并给出性能优化建议:减少嵌套层次、优先使用JOIN或EXISTS替代IN查询。最后强调子查询是处理复杂数据分析的有力工具,但需注意避免过度使用影响性能。

2025-05-27 16:59:50 907

原创 创建一个简易的风扇动画界面:基于 WPF 和 XAML 的实现教程

为了让风扇看起来更现代化,我们为背景、叶片、中心以及底座等部分添加渐变效果。通过使用 WPF 中的和,我们可以创建平滑的色彩过渡。在-- 背景渐变 -->-- 风扇叶片渐变 -->-- 风扇中心渐变 -->-- 风扇底座渐变 -->每个Brush定义了一个渐变色,使用不同的颜色和透明度值来模拟真实世界中风扇各部分的材质。通过 WPF 和 XAML,我们成功地创建了一个风扇动画界面。

2025-05-26 22:52:36 1047

原创 GraphQL在.NET 8中的全面实践指南

GraphQL是一种由Facebook开发的API查询语言,相较于REST,它允许客户端精确指定所需数据,避免了数据获取过多或过少的问题。.NET 8通过性能提升、最小API增强、原生AOT支持和改进的依赖注入,成为构建GraphQL服务的理想平台。搭建GraphQL服务包括创建项目、添加NuGet包、定义数据模型、配置DbContext和注册GraphQL服务。查询和变更操作通过定义Query和Mutation类实现,支持复杂查询和输入类型。高级特性如数据加载器优化和订阅功能,进一步提升了性能和实时性。通

2025-05-19 22:44:23 1348

原创 使用 C# 入门深度学习:线性代数详细讲解

线性代数在深度学习中扮演着至关重要的角色,它是理解和实现深度学习算法的基础。本文通过C#语言详细介绍了线性代数在深度学习中的应用,包括向量和矩阵的基本概念、基本运算(如向量加法、标量乘法和矩阵乘法)、向量点积、线性变换以及深度学习中的矩阵运算。此外,文章还提到了C#在深度学习领域的应用,如ML.NET和TensorFlow.NET等框架,这些工具可以帮助开发者在.NET环境下实现深度学习任务。掌握线性代数的核心概念和运算,对于深入理解和应用深度学习算法具有重要意义。

2025-05-18 21:16:56 1064

原创 .NET Core 中 Swagger 配置详解:常用配置与实战技巧

Swagger UI 提供了丰富的自定义选项,开发者可以根据自己的需求修改界面的标题、显示请求时长等信息。

2025-05-17 16:06:26 1761

原创 C# 实现雪花算法(Snowflake Algorithm)详解与应用

雪花算法(Snowflake ID)是一个分布式唯一 ID 生成算法,旨在生成具有高性能、唯一性且按时间排序的 ID。它由 Twitter 在其早期分布式系统中提出,并迅速成为生成全局唯一 ID 的标准方案。雪花算法通过将 64 位的整数分为多个部分来编码信息。每一部分代表不同的含义,如时间戳、机器 ID、序列号等,确保生成的 ID 不仅唯一且具有一定的时间顺序。

2025-05-15 19:44:45 2489 5

原创 深入理解 DryIoc:通过依赖注入构建松耦合应用

DryIoc 是一款面向 .NET 的轻量级高性能依赖注入容器。它与其他 DI 容器相比,强调更低的内存占用和更快的对象创建速度,同时还提供了丰富的功能和灵活的生命周期管理。DryIoc 提供的主要特性包括:高效的内存管理和性能优化。支持构造函数注入、属性注入等依赖注入方式。灵活的生命周期管理,包括瞬态(Transient)、单例(Singleton)、作用域(Scoped)等。强大的泛型支持。IService和,分别表示业务服务和数据库仓库。IService。

2025-05-14 09:30:58 730

原创 深入理解 Polly:.NET Core 中的健壮错误处理策略

Polly是一个强大的.NET库,专为处理现代软件开发中的错误处理需求而设计。它提供了多种策略,如重试、断路器、回退、超时和并发限制,帮助开发者在依赖外部服务时提升系统的容错能力和稳定性。通过重试策略,Polly可以在遇到可恢复错误时自动重试操作;断路器策略则防止持续失败的操作对系统造成更大影响;回退策略在操作失败时提供备选方案;超时策略限制操作的最大执行时间;并发限制策略则控制系统的并发操作数量。Polly还支持策略组合,允许开发者将多个策略结合使用,形成更复杂的容错机制。通过合理应用Polly,开发者可

2025-05-11 22:52:49 1105

原创 深入了解 ArkTS:HarmonyOS 开发的关键语言与应用实践

ArkTS是华为为开发HarmonyOS应用所推出的一种编程语言。它基于 TypeScript,并在此基础上扩展了许多针对嵌入式开发的特性。由于 HarmonyOS 旨在提供跨设备、跨平台的协作体验,ArkTS 充分利用了操作系统的分布式架构,使得开发者可以编写适用于不同设备(如智能手机、智慧屏、智能家居设备等)的应用。与传统的编程语言相比,ArkTS 在处理分布式数据、设备之间的协作、低功耗优化和异步编程方面进行了深度定制。因此,开发者可以轻松构建适应多设备环境的高效应用。ArkTS是为。

2025-05-10 17:22:06 1863

原创 全面解析 TypeScript:从基础到高级的使用技巧

TypeScript 是 JavaScript 的一个超集,主要的特点就是引入了静态类型系统,使得开发者能够在编写代码时就发现潜在的错误,从而提高代码的可维护性和开发效率。TypeScript 为开发者提供了类型注解、接口、泛型等高级功能,它在 JavaScript 的基础上做出了很多扩展,使得开发变得更加高效、灵活。TypeScript 的强大之处在于它提供的类型系统,这使得开发者能够在编写代码时捕获许多潜在的错误。:TypeScript 提供了静态类型检查,而 JavaScript 是动态类型的。

2025-05-09 08:27:55 902

原创 深入解析 C# 常用数据结构:特点、区别与优缺点分析

数据结构优点缺点适用场景List动态大小,支持按索引访问,操作灵活插入/删除操作可能较慢,内存重新分配开销高需要灵活的存储结构,并且频繁按索引访问元素Array快速的索引访问,低内存开销大小固定,插入和删除不方便元素数量固定且已知时,操作简单且高效高效的键值对查找,支持快速插入和删除无序,内存开销较大需要根据键快速查找值的场景HashSet唯一元素,查找和插入操作非常高效无序,不支持索引访问需要去重操作,且要求快速查找元素的场景Queue先进先出(FIFO),高效的入队和出队操作。

2025-05-08 15:57:39 1000

原创 全面解析 iTextSharp:在 .NET 中高效处理 PDF

iTextSharp 是 iText 库的 .NET 版本。iText 是一个开源的 PDF 操作库,最初为 Java 开发,后来移植到了 .NET 平台,形成了 iTextSharp。它为开发者提供了强大的 PDF 文件处理功能,包括:创建新的 PDF 文件修改现有的 PDF 文件提取 PDF 文件中的文本和图像在 PDF 文件中嵌入表单字段、按钮等交互元素设置 PDF 文件的密码保护和权限添加水印、页眉、页脚等内容。

2025-05-08 09:31:17 2033

原创 哈希算法、搜索算法与二分查找算法在 C# 中的实现与应用

在本文中,我们详细介绍了哈希算法、搜索算法和二分查找算法,并在 C# 中展示了如何实现这些算法。哈希算法,通过Dictionary和HashSet实现了高效的查找、插入和去重操作。线性搜索,适用于小型或无序的数据集,时间复杂度为 O(n)。二分查找,是一个高效的搜索算法,要求数据已经排序,时间复杂度为 O(log n)。理解和掌握这些基础算法,不仅能帮助我们优化数据存储和查找操作,还能提升编程能力。希望本文能为你提供一些有价值的参考,帮助你更好地运用这些算法解决实际问题。

2025-05-05 22:34:31 1212

原创 深入了解 OpenIddict:实现 OAuth 2.0 和 OpenID Connect 协议的 .NET 库

OpenIddict 是一个强大且易于集成的 .NET 库,专为 OAuth 2.0 和 OpenID Connect 协议的实现而设计。无论你是构建一个简单的认证系统,还是需要支持复杂的授权和认证场景,OpenIddict 都能提供高效的解决方案。通过其与 ASP.NET Core 的深度集成,开发者可以快速实现现代化的身份验证系统,保证系统的安全性和灵活性。通过本文的介绍,你可以快速上手 OpenIddict,在你的应用中实现完整的认证与授权机制,为用户提供安全、可靠的身份验证服务。

2025-05-04 19:50:14 1714

原创 深入解析 SqlSugar 与泛型封装:实现通用数据访问层

通过结合SqlSugar和泛型,我们能够实现一个简洁、通用且高效的数据库操作层。在这篇文章中,我们通过封装一个Repository类,将常见的数据库操作(增、删、改、查)以及分页查询功能都进行了通用化封装。这样,我们可以轻松地处理不同实体类的数据操作,减少了重复代码,提高了代码的可复用性和可维护性。泛型的使用不仅让我们能够在不同实体类之间共享同一套操作方法,还使得我们的代码更加简洁、易于扩展。

2025-05-03 23:28:24 1852

原创 秒杀系统开发实战:.NET 8 + EF Core + MySQL + Redis 高并发解决方案

本文介绍了如何在.NET 8环境下,结合EF CoreMySQL和Redis,设计并实现一个高并发的秒杀系统。通过使用 Redis 来管理库存、限流和并发控制,EF Core 则负责与 MySQL 数据库进行交互,存储订单数据。在高并发的秒杀场景中,这种设计能够保证系统的稳定性和高效性,确保秒杀活动的顺利进行。希望通过本文的讲解,你能够掌握在实际项目中实现秒杀系统的基本思路和技术细节,进而提升你在高并发场景下的系统设计能力。

2025-05-02 14:26:12 1134

原创 深入解析三大查找算法:线性查找、二分查找与哈希查找的原理与应用

线性查找:适用于无序数据,简单易懂,但效率较低,适用于小规模数据。二分查找:适用于有序数据,查找效率高,时间复杂度为 O(log n),但需要先进行排序。哈希查找:适用于频繁查找的场景,效率极高,时间复杂度为 O(1),但需要更多的存储空间,并且要处理哈希冲突。通过选择合适的查找算法,可以有效提高程序的执行效率,尤其是在处理大量数据时。理解每种算法的工作原理和适用场景,能够帮助你在实际开发中做出更明智的决策。

2025-05-01 18:40:49 769

原创 深入解析 .NET Kestrel:高性能 Web 服务器的架构与最佳实践

Kestrel 是一个轻量级的 Web 服务器,基于事件驱动和异步 I/O 模型,专为 .NET 环境中的 Web 应用程序设计。它可以独立运行,也能与其他 Web 服务器(如 Nginx 或 IIS)协作,共同为 Web 应用提供高效的请求处理能力。与传统的 Web 服务器(如 Apache 或 Nginx)相比,Kestrel 在处理大量并发请求和实现低延迟方面展现出色性能。异步 I/O 处理:Kestrel 使用异步编程模型,能高效处理大规模并发请求。高吞吐量与低延迟。

2025-05-01 17:55:45 1376

原创 Redis缓存穿透、缓存击穿与缓存雪崩:如何在.NET Core中解决

缓存穿透是指查询一个在缓存中和数据库中都不存在的数据。由于该数据既不在缓存中,也不在数据库中,因此每次请求都会直接查询数据库,造成不必要的数据库压力。例如,用户请求一个无效的商品ID,但该ID既没有缓存数据也没有数据库记录。每次请求都会访问数据库,导致大量无效的数据库访问。缓存击穿是指某些热门数据缓存失效后,短时间内有大量并发请求访问该数据,导致这些请求直接访问数据库,从而加大数据库的负载。常见的场景是在高并发的环境中,某些热点数据的缓存失效,造成大量请求直接冲击数据库。

2025-04-30 08:19:17 1394

原创 深入解析常见排序算法及其 C# 实现

每种排序算法都有其适用的场景。冒泡排序选择排序和插入排序适用于小规模数据,时间复杂度为 O(n²)。归并排序快速排序和基数排序适用于大规模数据,时间复杂度为 O(n log n) 或 O(nk)。计数排序适用于数据范围较小的情况。理解这些算法的原理并掌握其实现将帮助你在实际开发中解决不同的排序问题。

2025-04-29 08:50:15 1192

原创 使用 NServiceBus 在 .NET 中构建分布式系统

NServiceBus 是一个用于构建分布式系统、微服务架构和事件驱动架构的消息中间件框架。它允许服务之间通过异步消息传递进行通信,从而降低了服务间的耦合度,提高了系统的可扩展性和可靠性。异步消息传递:通过消息队列异步传递信息,避免服务间的同步调用和阻塞。消息驱动架构:支持基于事件的发布/订阅模型,能够快速构建解耦的分布式系统。事务管理和可靠性:NServiceBus 提供了可靠的消息传递机制,支持消息重试、事务和死信队列等特性。在 NServiceBus 中,消息是与应用程序组件之间进行交互的基本单位。

2025-04-27 22:51:31 1219

原创 深入解析 ASP.NET Core 中的 ResourceFilter

ASP.NET Core 的过滤器是用于在请求和响应处理的不同阶段执行自定义逻辑的一种机制。过滤器在控制器方法执行之前、之后,或者在异常发生时执行。它们可以帮助开发人员对请求进行验证、处理、修改或者进行其他操作。Authorization Filters(授权过滤器):用于身份验证和授权操作。Resource Filters(资源过滤器):用于资源级的处理,例如缓存、日志记录等。Action Filters(操作过滤器):用于在控制器动作执行之前和之后执行一些操作。

2025-04-26 10:06:11 780

原创 深入了解C# List集合及两种常见排序算法:插入排序与堆排序

在C#中,List<T>提供了非常方便的数据存储和操作功能。插入排序和堆排序是两种常见的排序算法,其中插入排序简单易懂,但性能较差,适合小规模数据排序;而堆排序在大数据量排序时效率较高,尤其是在内存限制的情况下。通过掌握这些基本的排序算法,你能够更好地理解算法的运作原理,并在不同场景下选择合适的算法进行优化。

2025-04-25 15:58:58 830

原创 深入了解递归、堆与栈:C#中的内存管理与函数调用

递归是指一个函数直接或间接调用自身,以解决问题的一种编程方法。在递归编程中,通常需要通过将问题分解为更简单的子问题来逐步逼近终止条件。基准情况 (Base Case):递归终止的条件,用于避免无限递归。递归步骤 (Recursive Case):通过调用自身来逐步逼近基准情况。堆是程序运行时用来动态分配内存的区域。在C#中,堆通常用于存储对象实例和引用类型数据。与栈不同,堆的内存分配和回收过程相对较慢,但可以存储较大的数据结构,并且生命周期可以跨越多个方法调用。栈是一种遵循先进后出 (LIFO)

2025-04-24 22:02:16 1124

原创 深入理解组合实体模式(Composite Entity Pattern)在 C# 中的应用与实现

组合实体模式是一种结构型设计模式,它通过将多个简单对象组合成一个复杂的对象,从而管理复杂对象的状态。这个模式的核心思想是将一个复杂对象划分成多个较小的、可独立操作的子对象,这些子对象可以各自有自己的状态和行为。然后,通过一个组合实体统一管理这些子对象,并通过组合实体来提供对这些子对象的操作接口。set;// 设置组合实体各个子实体的状态// 打印组合实体的状态在这个示例中,我们定义了三个子实体(SubEntity),每个子实体有自己的状态。

2025-04-20 16:56:10 377

netcore权限管理系统

netcore权限管理系统

2025-07-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除