首页
C&C++
C#语言
Java
Python
人工智能
Web前端
数据库
面试笔记
其它
软件推荐
搜索
责任链模式:告别臃肿的if-else,让请求在对象链中智能传递
在上一篇文章《观察者模式:让代码主动响应,告别轮询》中,我们探讨了观察者模式如何以解耦的方式实现系统事件响应。作为行为设计模式系列的第二篇,本文将介绍另一种行为模式——责任链模式(Chain of Responsibility)。顾名思义,该模式会为请求创建一条由多个潜在...
6-7 9:13
25
策略设计模式:动态切换算法的艺术(C#实现)
策略设计模式是一种行为型设计模式,它允许在运行时从算法族中选择特定算法。通过将算法单独封装并使其可互换,该模式能帮助我们创建灵活、可复用的代码,而无需修改现有代码结构。无策略模式时的问题若不使用策略模式,我们通常需要依赖条件语句(if-else或switch-case...
6-7 9:11
23
告别MediatR:构建极简CQRS架构的终极指南
Jimmy Bogard近期宣布,MediatR将对达到一定规模的企业采用商业许可模式。这一变化促使许多团队重新评估其使用方案,并开始寻找替代方案。现在正是转型的好时机。尽管CQRS与MediatR并非同一概念,但MediatR几乎已成为.NET生态中CQRS模式的代名词。大多数项目仅将其用作...
6-7 9:4
21
从"Hello World"到高手进阶:10个必掌握的.NET Core实战技巧
你已经告别了Hello World阶段,能比泡方便面还快地搭建API,但总觉得哪里不对劲...仿佛每次生产环境出问题(本地却正常)时,框架都在无声地嘲笑你。是的,是时候升级了。依赖注入(DI) —— 不只是流行词我知道你用过了——可能从StackOverflow复制来的。也许注入过一两...
6-7 9:3
23
LINQ的魔幻与禁忌:5个让你既爱又恨的"骚操作
LINQ的使用,往往在巧妙与邪恶之间只有一线之隔。我曾深刻领悟这一点——在一次代码评审中,我自信满满地展示了一段自认为堪称艺术品的LINQ代码,结果看着资深开发者的表情逐渐扭曲。这……确实能跑,他缓缓说道,但今晚我可能会因为这段代码失眠。LINQ不仅是一种工具,...
6-7 9:1
22
.NET 10震撼来袭:Preview 3七大核心升级全解析
软件开发的世界从不停止进化,.NET亦是如此。.NET 10 Preview 3不仅是技术更新,更为Web、移动端、云服务等领域的应用开发奠定了未来基础。这个版本聚焦速度、简洁与智能编码,让开发者能用更优雅高效的方案解决复杂问题。为什么选择.NET 10?这不仅是版本号的改变,更...
6-7 9:0
23
字符串是个好员工,但别让它当CEO!—— C#强类型设计实战指南
字符串(String)是C#中最常用的数据类型之一。姓名、地址、消息、JSON、XML、状态、类型名称——字符串无处不在。但当我们过度使用字符串时,问题就会显现——它们会变得脆弱、易错,且难以维护。本文将带你深入探讨:为何滥用字符串是危险的使用键值替代方案如何提升...
6-7 8:58
23
C#代码的七宗罪:老司机带你清除这些技术债(附改造方案)
前几天我review了一个代码库——这是个从.NET Framework 4.5时代遗留下来的企业级应用。虽然保留了分层架构,但业务逻辑和UI事件纠缠不清,几乎每行代码都在呐喊:我是赶工写出来的!这个下午给了我当头一棒。从业多年,我见过太多杰作:臃肿的控制器方法、深不见底的if...
6-7 8:56
23
命令模式深度解析:一招解锁撤销/重做、任务队列等高级功能,从此告别代码紧耦合
在上一期《迭代器模式:无需了解集合结构即可遍历元素》中,我们探讨了设计模式如何通过解耦程序组件来提供优雅解决方案。今天,我们将深入行为型模式中的命令模式(Command Pattern),该模式通过将请求封装为独立对象,实现请求发送者与执行者的解耦。这种模式以可维...
6-7 8:55
31
.NET开发者的救星:8个让你告别996的高效库
当你正埋头开发一个自定义日期选择器或登录系统时,突然灵光一闪:等等...肯定有人早就实现过这个功能了吧?没错,确实如此。然而此刻的你,已经写了上百行代码,又一次在重复造轮子的半路上。别担心,你并不孤单——尤其是在.NET生态中。这个庞大的生态系统里,有时候...
6-7 8:53
37
1
2
3
4
5
6
7
8
9
10
…
>
>>
阅读排行
深入WPF数据绑定:Converter...
2888
C#异步定时器:精准定期执行...
2868
WPF应用中融入ASP.NET Core...
2202
在C# .NET 8中使用MediatR实...
1934
延迟等待的艺术:C#中Task.D...
1660
.NET Core 中集成Dapper高级...
1611
.NET 性能分析:.NET 8 中的...
1528
WPF中轻松生成动态图表:实...
1635
串口通信利器:RJCP.DLL.Ser...
1542
精准数字处理:C#中四舍五入...
1740
轻松上传:C#中HTTP POST mu...
1614
C#屏幕截图:轻松捕获活动窗...
1497
C# 中的并发性:使用 Blocki...
1366
C#中轻松实现二维码和条形码...
1272
C#串口通讯实战:基础功能及...
1341
深入了解SOAPCore:在.NET 6...
1251
在 .NET8 中通过 RabbitMQ实...
1113
解决WPF界面卡死等待问题:...
2322
ASP.NET 后端开发:全面的路...
1086
WPF中轻松操控GIF动画:WpfA...
1185
.NET —ToList 和 ToArray ...
1017
MediatR让进程内通信如此简...
2233
实现WPF多语言支持:简单灵...
1134
C#中Task.Run怎么用?能解决...
1115
.net中OpenCVSharp+Zxing读...
1110
还在到处加异常日志记录?试...
1104
Microsoft.Extensions.Loggi...
989
打造真实感十足的速度表盘:...
1071
.NET 9中ToList 和 ToArray ...
923
ASP .NET Core 8+ 中的全局...
914
解密C#中允许HttpClient使用...
916
掌握ImageSharp:图像处理的...
1002
掌握System.Text.Json中的多...
1000
WPF神器揭秘:一键截图,轻...
861
轻松实现.NET应用自动更新:...
974
深入理解WPF中的Dispatcher...
963
C#文件编码检测:轻松解析文...
853
C# 中的弱事件 — 如何避免...
831
.NET 中的 UUID 和 ULID:最...
831
ASP.NET Core .NET 8 中间件...
829
使用OpenXML在.NET 6中导出E...
914
解密C# Socket通信:克服粘...
911
FluentFTP实战:轻松操控FTP...
904
WPF魔法:轻松实现依赖注入...
2006
在 ASP.NET Core Web API 中...
766
C# .NET 8中的自动映射器Aut...
754
ZLogger v2 架构:利用 .NET...
704
WPF大展示专业指南:轻松实...
924
WPF开发新境界:MVVM设计模...
813
C# Socket通信:灵活传输DTO...
776