原生 WPF 框架中体现出的设计模式

本文探讨了在 WPF 框架中实现的多个经典设计模式,如观察者模式、桥接模式、装饰器模式等式。通过 WPF 的事件机制、依赖属性和附加属性等特性,展示了如何利用设计模式来增强代码的灵活性与扩展性。

借助 ObservableCollections 获得更多具有通知功能的集合类型

相信很多人在做 WPF、Avalonia 等开发时,都会遇到 ObservableCollection 没有批量操作的功能、缺少 ObservableDictionary 等集合类型等问题。本文介绍了一个 NuGet 包 ObservableCollections,它提供了多种实用的具有通知功能的集合类型。

常见与不常见哈希函数

之前我们已经探讨了密码加盐哈希,这次我们围绕着哈希函数再做一些补充。本文将介绍一些常见和不常见的哈希函数,以及它们的特点和应用场景。

逆向思考 .NET 一些版本的新特性

.NET 为什么要在某个版本引入某个新特性?这背后的思考和逻辑是什么?或许我们可以借助逆向思考的方式来理解。

是不是所有 C# 中实现了 Dispose 方法的类我们都要用完即释放?

在 C# 中,是否所有实现了 IDisposable 接口的类都需要在用后立刻调用 Dispose 方法?本文将通过几个典型的例子,来看看在什么情况下可以不调用 Dispose 方法,并从底层的原理出发,给大家提供一个判断是否有必要调用 Dispose 方法的思路。

在多线程开发中用信号量代替轮询和标志位

我们在多线程开发中,经常会用到标志位和轮询。但是这样的方式并不优雅。这篇文章我们来看一看如何用信号量等机制来替代轮询标志位的方式,从而实现线程间的通信和控制。