.NET SOLID、高内聚低耦合、分层
一、SOLID 原则(类与方法的设计规范)
SOLID 是 5 个面向对象设计原则的缩写,目的:让代码易维护、易扩展、少出 bug。
1. S – 单一职责原则 (Single Responsibility)
一个类 / 方法只做一件事,且只做好一件事
坏:一个类同时处理「用户注册 + 发送邮件 + 日志记录」
好:拆成 UserService ...
.NET 集成 SqlSugar、读写分离 、Redis
一、环境准备(NuGet 安装)
# SqlSugar 核心
Install-Package SqlSugarCore
# Redis 驱动 (StackExchange.Redis 官方推荐)
Install-Package StackExchange.Redis
# 缓存工具包
Install-Package Microsoft.Extensions.Caching.StackExchangeRedis
二、appsettings.json 配置
...
.NET 集成 日志 (Serilog/NLog)、AOP、简单限流
一、环境准备(新建 .NET Web API)
先安装所有需要的 NuGet 包:
必装包
# AOP 核心
Install-Package Autofac
Install-Package Autofac.Extras.DynamicProxy
Install-Package Microsoft.Extensions.DependencyInjection
# Serilog 二选一
Install-Package Serilog
Install-Package Serilog.AspNe ...
.NET 集成 Swagger、API 版本控制 、JWT 授权、权限设计
一、先安装必需 NuGet 包
# API版本控制
Install-Package Microsoft.AspNetCore.Mvc.Versioning
Install-Package Microsoft.AspNetCore.Mvc.Versioning.ApiExplorer
# JWT
Install-Package Microsoft.AspNetCore.Authentication.JwtBearer
# Swagger
Install-Package Swashbuckle.AspNetCore
  ...
.NET Web API、路由、模型验证、过滤器、全局异常
一、.NET Web API 是什么
ASP.NET Web API 是微软用于构建 HTTP 服务 的框架,专门用来开发:
前后端分离接口
移动端 API
微服务接口
它基于 Controller + Action 模式,返回 JSON/XML 数据,不返回页面。
二、路由(Routing)
路由的作用:把 URL 映射到控制器的方法
  ...
.NET 管道、中间件、配置系统、依赖注入 (DI) 生命周期
一、请求处理管道(Pipeline)
1. 是什么?
ASP.NET Core 处理 HTTP 请求的一条流水线。
请求进来 → 依次经过多个中间件 → 响应返回。
2. 核心特点
单向进入,双向返回
请求:从上到下执行中间件
响应:从下到上原路返回
顺序至关重要
先注册的中间件先执行
可 ...
C# 内存管理核心:内存基础、GC、IDisposable、using 模式
一、内存基础:栈 vs 堆
C# 把内存分成两块核心区域,分配规则完全不同,这是理解 GC 的前提。
1. 栈内存 (Stack)
存放内容:值类型(int、bool、struct)、引用类型变量的引用地址
特点:
自动分配、自动释放(方法执行完立刻释放)
速度极快,无需 GC 管理
大小固定,空间小
生命周期: ...
C# async/await、Task 、死锁
一、核心
Task:代表一个尚未完成的操作(可以是异步、也可以是同步)
async/await:语法糖,让异步代码写得像同步
本质:await 时挂起方法,释放线程;操作完成后恢复执行
二、Task 到底是什么?
1. Task 不是线程
很多人误区:
“启动一个 Task 就开一个线程。”
...
WPF 结合本地 Ollama 千问多模态实现离线屏幕使用记录工具
本文内容由 AI 辅助编写
界面
以下是在我电脑上跑出来的效果图
背景
我之前一直想统计自己每天的时间分配,清晰了解大部分时间花在哪些应用、哪些任务上,但市面上的同类工具要么需要上传截图到云端,隐私得不到保障,要么只能统计前台应用的驻留时长,没办法知道具体在操作什么内容。同时为了测试本地多模态大模型的能力 ...
C# 委托、事件、Lambda、LINQ
一、委托(Delegate):C# 的「函数指针」,方法的容器
1. 核心定义
委托是存储方法引用的类型,可以把方法当作参数传递、赋值、调用,实现解耦 + 回调。
2. 基础语法
// 1. 定义委托(匹配方法的返回值+参数)
public delegate int CalcDelegate(int a, int b);
// 2. 定义匹配委托的方法 ...
踩坑记录:UTF-8、UTF-8-BOM 与 GB2312 读取的乱码真相
在日常开发中,编码乱码是一个高频且容易让人困惑的问题,尤其是涉及 UTF-8、UTF-8-BOM 与 GB2312 这几种编码格式时,很容易出现“看似不合理”的现象。最近我就遇到了一个典型场景:脚本文件最初用 UTF-8 编码,程序中指定 GB2312 读取时显示乱码;但将脚本改为 UTF-8-BOM 编码后,依然用 GB2312 读取,却能正常显示——这 ...
C# 核心类型体系指南
一、C# 类型体系总览
C# 所有类型最终都属于两大分类:
值类型(Value Type)
引用类型(Reference Type)
所有类型都继承自 object(System.Object)。
二、值类型 vs 引用类型(核心区别)
1. 定义
值类型:数据直接存在栈上,变量本身就是数据。
引用类型:数据存 ...
使用 C# 提取 Word 文档中的表格数据
在日常办公或系统开发中,Word 文档里的表格数据常常需要被提取出来,用于数据导入、统计分析或报表生成。然而,手动复制粘贴效率低下,而借助 Office COM 组件又容易遇到版本兼容、部署繁琐等问题。本文将展示如何使用 C# 搭配 Free Spire.Doc 库,无需安装 Microsoft Word,即可快速、稳定地提取 Word 表格内容,并导出为 ...
【.NET并发编程 - 03】 Task API 完全指南:方法与属性的实战应用
03. Task API 完全指南:方法与属性的实战应用
本章 GitHub 仓库:csharp-concurrency-cookbook ⭐
欢迎 Star 和 Fork!所有代码示例都可以在仓库中找到并运行。
🎯 本章导读
📌 本文目标:系统性掌握 Task 类的核心 API,为后续深入学习 async/await 打下坚实基础。
在上一篇文章中,我们了解了 Task 是基于 ThreadPo ...
C# 15 类型系统改进:Union Types
前言
Union 类型(联合类型)一直是 C# 社区呼声最高的特性之一。从最初的 discriminated unions 提案到今天,这个特性经历了多年的设计和讨论,终于在 C# 15 中正式落地。
Union 类型允许我们将一个值限定为一组封闭类型中的某一种,并且在针对 Union 值的 switch 表达式中获得穷尽性检查。编译器能帮你确认是否处理了所有 ...
关于在线考试系统的技术博客-结对编程作业
【结对编程作业】408 基础知识在线考试系统设计与实现
结对信息:
编码者:2452925
审核者:2452927
项目: 408基础知识在线考试系统
开发环境:idea
前端: HTML + CSS + JavaScript(前端本地存储实现)
后端: java
一、项目概述
本项目为408 计算机学科专业基础综合在线考试系统,面向计算机专业学生设计,用于数据结 ...
多租户系统框架的基础模块设计和分析设计
前面介绍了几篇关于多租户下的设计思路,要把多租户下的系统设计落实到实处,在实际开发中进行完善,才能在具体项目上精益求精,否则系统设计终究为空中楼阁,很难在细节上完善到位。
本篇随笔在进行多租户的系统设计完成并落实到开发后,针对某些场景进行了一些分析介绍,例如对于多租户/账套下的菜单和功能点的设计。
1、 ...
通过 C# 读取并导出 PDF 书签
PDF 书签(大纲)是文档导航的核心要素,尤其对于长文档或技术手册,提取书签信息可用于生成目录、索引或进行文档结构分析。本文将介绍如何使用 Free Spire.PDF for .NET 库,通过 C# 代码完整读取 PDF 文件中的所有书签(包括多级嵌套书签),并将标题、显示样式等信息导出到文本文件。
1. 环境准备
1.1 安装免费库
在 Vis ...
【.NET并发编程 - 02】并发的底层-Thread-ThreadPool-Task
02-并发的底层:Thread、ThreadPool 与 Task 的关系
本章 GitHub 仓库:csharp-concurrency-cookbook ⭐
欢迎 Star 和 Fork!所有代码示例都可以在仓库中找到并运行。
📖 写在前面的话
各位好!👋
先给大家打个预防针:这篇博客的内容真的很多,而且绝大部分都是偏理论的深度解析。我不会跟你讲"怎么快速用Task",而是会 ...
WinForms 内置的公共系统级别编辑器
在 WinForms 的设计时库(以 System.Design、System.Drawing.Design 和 System.Windows.Forms.Design 为主)中,微软官方提供了 约 40~50 个 内置的公共系统级别编辑器(继承自 UITypeEditor)。
由于这些编辑器内置在 Visual Studio 和标准库中,因此在跨进程的外进程设计器(.NET Core/.NET 10)环境中,大部分都是可以直 ...