首页
C&C++
C#语言
Java
Python
人工智能
Web前端
数据库
面试笔记
其它
软件推荐
搜索
Repository Pattern已死?深入剖析.NET中的设计模式争议与最佳实践
一场激烈的技术辩论在.NET生态中,鲜有话题能像**仓储模式(Repository Pattern)**这般引发激烈争论。有些开发者奉其为整洁架构的基石,另一些人则认为它是被Entity Framework Core(EF Core)淘汰的冗余设计。那么,仓储模式真的消亡了吗?还是说它正在进化?本文将剖...
3-15 15:43
132
C#开发者必知的100个黑科技(后50)!从主构造函数到源生成器全面掌握
StringBuilder:字符串操作的利器处理大型字符串或频繁拼接时,StringBuilder是最佳选择。相比普通字符串拼接,它的效率更高。var sb = new StringBuilder(); sb.Append(Hello, ); sb.Append(world!); string result = sb.ToString(); TryParse:安全解析的守护者用...
3-15 15:39
86
C#开发者必知的100个黑科技(前50)!从主构造函数到源生成器全面掌握
拥抱主构造函数我曾重构过一个拥有多个构造函数的类,每个构造函数都初始化相同的属性。代码混乱不堪。直到我发现C#的主构造函数——它允许直接在类声明中定义参数,彻底消除了样板代码。public class Person(string name, int age) { public string Name { get; ...
3-15 15:36
100
内存管理终极指南!揭秘.NET高并发系统性能飞跃的7大核心策略
作为管理大型.NET应用的首席开发者,日常工作中最严峻的挑战是如何在极致压榨内存的同时保持性能稳定。面对大数据处理或高吞吐系统,不当的内存使用会导致高延迟、频繁GC暂停甚至应用崩溃。本文将揭示经过生产验证的.NET内存优化秘技。1. .NET内存管理核心机制托管堆的...
3-8 19:33
130
ASP.NET Core JWT+Cookie双重认证实战指南,Swagger集成与Axios全流程解析
许多.NET开发者在使用ASP.NET Core Identity实现基础认证时常常陷入困境。本文将提供一份纯实战指南,演示如何实现支持[Authorize]特性的JWT令牌+Cookie双重认证方案。这种方案特别适合需要同时满足API认证和Swagger登录的场景,并附赠SPA应用中使用Axios进行Cookie认证...
3-8 19:27
161
90%性能飞跃!揭秘.NET JSON序列化中的隐藏性能杀手与终极优化方案
JSON序列化是许多.NET应用程序中悄无声息的性能杀手。这一底层操作往往在初次实现后就被永久忽视,却让我们在生产环境中付出了惨痛代价。我们的团队曾在排查微服务API高负载瓶颈时深有体会——既不是数据库查询,也不是复杂业务逻辑,而是JSON序列化吞噬了近40%的API执...
3-8 19:22
225
.NET数据访问层设计终极对决:Entity Framework vs Repository模式 vs工作单元
在构建.NET应用时,数据访问层设计常引发架构争议:该直接使用Entity Framework,还是引入Repository模式或Repository+工作单元组合? 本文将深度解析三种方案的优缺点,助你做出明智选择。方案一:直接使用Entity Framework核心思想:直接通过DbContext操作数据,无需...
3-2 9:38
206
在 .NET 应用中集成大语言模型:使用 Microsoft.Extensions.AI 的实战指南
我一直在尝试将大语言模型(LLMs)集成到 .NET 应用中的不同方法,并希望分享我在使用 Microsoft.Extensions.AI 时学到的东西。大语言模型(LLMs)已经彻底改变了我们构建 AI 驱动应用的方式。虽然许多开发者熟悉基于云的解决方案(如 OpenAI 的 GPT 模型),但得益于像...
3-2 9:37
174
从“能用”到“卓越”:7个实战技巧提升C#代码质量
本文将揭秘七个实战技巧,助你跨越“功能实现”到“优雅代码”的鸿沟。通过正反案例对比与技术心法,重构代码思维模式,让代码兼具可读性与可维护性。1. 命名即语义:让代码自述其意代码即故事,变量/方法/类名如同角色命名。你会阅读主角名为x或data的小说吗?❌ 糟糕...
3-2 9:35
275
深入解析 .NET Core 中的问题详情与全局异常处理:打造更优雅的 API 错误响应
问题详情(Problem Details)简介问题详情(Problem Details)是一种在 HTTP 响应中传递错误信息的标准方式,定义在 RFC 7807 中。标准的问题详情属性包括:Type:标识问题类型的 URITitle:简短的错误描述Status:HTTP 状态码Detail:具体的错误解释Instance:标识特定...
3-2 9:33
243
<<
<
…
14
15
16
17
18
19
20
21
22
23
…
>
>>
阅读排行
深入WPF数据绑定:Converter...
3257
C#异步定时器:精准定期执行...
3243
WPF应用中融入ASP.NET Core...
2575
在C# .NET 8中使用MediatR实...
2341
.NET Core 中集成Dapper高级...
2002
延迟等待的艺术:C#中Task.D...
1977
.NET 性能分析:.NET 8 中的...
1849
精准数字处理:C#中四舍五入...
2174
WPF中轻松生成动态图表:实...
1944
串口通信利器:RJCP.DLL.Ser...
1897
轻松上传:C#中HTTP POST mu...
1952
C# 中的并发性:使用 Blocki...
1675
C#屏幕截图:轻松捕获活动窗...
1774
C#中轻松实现二维码和条形码...
1637
C#串口通讯实战:基础功能及...
1621
深入了解SOAPCore:在.NET 6...
1600
在 .NET8 中通过 RabbitMQ实...
1442
MediatR让进程内通信如此简...
2582
ASP.NET 后端开发:全面的路...
1332
WPF中轻松操控GIF动画:WpfA...
1452
解决WPF界面卡死等待问题:...
2549
实现WPF多语言支持:简单灵...
1397
.net中OpenCVSharp+Zxing读...
1380
.NET —ToList 和 ToArray ...
1254
Microsoft.Extensions.Loggi...
1281
ASP .NET Core 8+ 中的全局...
1239
C#中Task.Run怎么用?能解决...
1349
还在到处加异常日志记录?试...
1337
打造真实感十足的速度表盘:...
1298
.NET 9中ToList 和 ToArray ...
1173
掌握System.Text.Json中的多...
1283
解密C#中允许HttpClient使用...
1170
WPF神器揭秘:一键截图,轻...
1157
掌握ImageSharp:图像处理的...
1243
深入理解WPF中的Dispatcher...
1230
轻松实现.NET应用自动更新:...
1228
C#文件编码检测:轻松解析文...
1115
使用OpenXML在.NET 6中导出E...
1196
ASP.NET Core .NET 8 中间件...
1072
在 ASP.NET Core Web API 中...
1072
.NET 中的 UUID 和 ULID:最...
1071
C# 中的弱事件 — 如何避免...
1064
解密C# Socket通信:克服粘...
1135
ZLogger v2 架构:利用 .NET...
1009
C# .NET 8中的自动映射器Aut...
1008
WPF魔法:轻松实现依赖注入...
2236
FluentFTP实战:轻松操控FTP...
1095
WPF开发新境界:MVVM设计模...
1071
WPF大展示专业指南:轻松实...
1141
C# Socket通信:灵活传输DTO...
956