首页
C&C++
C#语言
Java
Python
人工智能
Web前端
数据库
面试笔记
其它
软件推荐
搜索
告别MediatR:构建极简CQRS架构的终极指南
Jimmy Bogard近期宣布,MediatR将对达到一定规模的企业采用商业许可模式。这一变化促使许多团队重新评估其使用方案,并开始寻找替代方案。现在正是转型的好时机。尽管CQRS与MediatR并非同一概念,但MediatR几乎已成为.NET生态中CQRS模式的代名词。大多数项目仅将其用作...
6-7 9:4
380
从"Hello World"到高手进阶:10个必掌握的.NET Core实战技巧
你已经告别了Hello World阶段,能比泡方便面还快地搭建API,但总觉得哪里不对劲...仿佛每次生产环境出问题(本地却正常)时,框架都在无声地嘲笑你。是的,是时候升级了。依赖注入(DI) —— 不只是流行词我知道你用过了——可能从StackOverflow复制来的。也许注入过一两...
6-7 9:3
354
LINQ的魔幻与禁忌:5个让你既爱又恨的"骚操作
LINQ的使用,往往在巧妙与邪恶之间只有一线之隔。我曾深刻领悟这一点——在一次代码评审中,我自信满满地展示了一段自认为堪称艺术品的LINQ代码,结果看着资深开发者的表情逐渐扭曲。这……确实能跑,他缓缓说道,但今晚我可能会因为这段代码失眠。LINQ不仅是一种工具,...
6-7 9:1
340
.NET 10震撼来袭:Preview 3七大核心升级全解析
软件开发的世界从不停止进化,.NET亦是如此。.NET 10 Preview 3不仅是技术更新,更为Web、移动端、云服务等领域的应用开发奠定了未来基础。这个版本聚焦速度、简洁与智能编码,让开发者能用更优雅高效的方案解决复杂问题。为什么选择.NET 10?这不仅是版本号的改变,更...
6-7 9:0
339
字符串是个好员工,但别让它当CEO!—— C#强类型设计实战指南
字符串(String)是C#中最常用的数据类型之一。姓名、地址、消息、JSON、XML、状态、类型名称——字符串无处不在。但当我们过度使用字符串时,问题就会显现——它们会变得脆弱、易错,且难以维护。本文将带你深入探讨:为何滥用字符串是危险的使用键值替代方案如何提升...
6-7 8:58
334
C#代码的七宗罪:老司机带你清除这些技术债(附改造方案)
前几天我review了一个代码库——这是个从.NET Framework 4.5时代遗留下来的企业级应用。虽然保留了分层架构,但业务逻辑和UI事件纠缠不清,几乎每行代码都在呐喊:我是赶工写出来的!这个下午给了我当头一棒。从业多年,我见过太多杰作:臃肿的控制器方法、深不见底的if...
6-7 8:56
323
命令模式深度解析:一招解锁撤销/重做、任务队列等高级功能,从此告别代码紧耦合
在上一期《迭代器模式:无需了解集合结构即可遍历元素》中,我们探讨了设计模式如何通过解耦程序组件来提供优雅解决方案。今天,我们将深入行为型模式中的命令模式(Command Pattern),该模式通过将请求封装为独立对象,实现请求发送者与执行者的解耦。这种模式以可维...
6-7 8:55
348
.NET开发者的救星:8个让你告别996的高效库
当你正埋头开发一个自定义日期选择器或登录系统时,突然灵光一闪:等等...肯定有人早就实现过这个功能了吧?没错,确实如此。然而此刻的你,已经写了上百行代码,又一次在重复造轮子的半路上。别担心,你并不孤单——尤其是在.NET生态中。这个庞大的生态系统里,有时候...
6-7 8:53
344
.NET 10 颠覆性革新:直接运行C#文件,告别项目配置枷锁!
微软在 .NET 10 Preview 4 中引入了一项彻底改变开发者与C#交互方式的特性——历史上首次,开发者可以直接通过 dotnet run app.cs 执行C#文件,无需创建项目文件、搭建目录结构或管理MSBuild配置。这项范式转移使C#在保持企业级能力的同时,获得了脚本语言的灵活性。✔...
6-7 8:52
359
告别贫血枚举!用C#强类型枚举模式实现真正的面向对象设计
原生C#枚举就像纸板剪影——只有标签,没有灵魂。需要为每种信用卡类型设置折扣率?准备好面对冗长的switch语句。想添加验证或本地化?你不得不在代码库中搜寻分散的辅助字典。如果你认为原生枚举够用,那只是因为还没遇到过需要将业务逻辑塞进巨型switch怪兽的需求场景...
6-7 8:47
356
<<
<
…
11
12
13
14
15
16
17
18
19
20
…
>
>>
阅读排行
深入WPF数据绑定:Converter...
4673
C#异步定时器:精准定期执行...
4669
WPF应用中融入ASP.NET Core...
3946
在C# .NET 8中使用MediatR实...
3780
精准数字处理:C#中四舍五入...
3688
.NET Core 中集成Dapper高级...
3318
延迟等待的艺术:C#中Task.D...
3301
串口通信利器:RJCP.DLL.Ser...
3360
.NET 性能分析:.NET 8 中的...
3150
轻松上传:C#中HTTP POST mu...
3355
WPF中轻松生成动态图表:实...
3173
C# 中的并发性:使用 Blocki...
3002
C#中轻松实现二维码和条形码...
2960
C#屏幕截图:轻松捕获活动窗...
3043
深入了解SOAPCore:在.NET 6...
2941
在 .NET8 中通过 RabbitMQ实...
2805
MediatR让进程内通信如此简...
3963
C#串口通讯实战:基础功能及...
2814
ASP.NET 后端开发:全面的路...
2656
WPF中轻松操控GIF动画:WpfA...
2748
解决WPF界面卡死等待问题:...
3806
.net中OpenCVSharp+Zxing读...
2686
ASP .NET Core 8+ 中的全局...
2562
Microsoft.Extensions.Loggi...
2570
实现WPF多语言支持:简单灵...
2618
.NET —ToList 和 ToArray ...
2480
解密C#中允许HttpClient使用...
2490
C#中Task.Run怎么用?能解决...
2591
C#文件编码检测:轻松解析文...
2450
WPF神器揭秘:一键截图,轻...
2430
还在到处加异常日志记录?试...
2537
.NET 9中ToList 和 ToArray ...
2405
.NET 中的 UUID 和 ULID:最...
2397
掌握System.Text.Json中的多...
2514
轻松实现.NET应用自动更新:...
2499
打造真实感十足的速度表盘:...
2495
掌握ImageSharp:图像处理的...
2481
在 ASP.NET Core Web API 中...
2358
深入理解WPF中的Dispatcher...
2469
使用OpenXML在.NET 6中导出E...
2461
ASP.NET Core .NET 8 中间件...
2289
C# .NET 8中的自动映射器Aut...
2206
C# 中的弱事件 — 如何避免...
2191
ZLogger v2 架构:利用 .NET...
2175
解密C# Socket通信:克服粘...
2268
WPF魔法:轻松实现依赖注入...
3367
WPF开发新境界:MVVM设计模...
2211
FluentFTP实战:轻松操控FTP...
2196
WPF大展示专业指南:轻松实...
2252
C# Socket通信:灵活传输DTO...
2035