最新 最热

架构师训练营第一周 - 学习总结

1)较宽的知识面:在设计与方案制定时,有更多的思路2)深度专研某个领域:很多出色的架构设计,基础原理上是有共通性的。对某个领域有深入理解后,容易举一反三。一直停留在表象层,就算认识的再多,但处理问题不容易发现其本质规律3)...

2023-10-22
2

架构师训练营第一周 - 食堂就餐卡系统设计

系统功能包括:管理中心开卡注册、缴费、统计消费情况、收款机刷卡消费。使用者包括:管理中心后台管理员、收款机(消费者、收银员操作时的实体对象)。...

2023-10-22
1

【译】为什么命名“它”为依赖属性(DependencyProperty)

当我们创建新的类和成员时,我们花费了大量的时间和精力是它们尽可能的好用,好理解,好发现。通常我们会遵循.Net框架设计指南,尤其是会不断地研究这个新类与其他类,未来计划等内容之间的关系。...

2023-10-22
1

Windows 系统的默认字体是什么?应用的默认字体是什么?

作为中文应用的开发者,我们多半会认为系统的默认字体是“微软雅黑”。然而如果真的产生了这种误解,则很容易在开发本地化应用的时候踩坑。

2023-10-22
1

.NET 设计一套高性能的弱事件机制

弱引用是 .NET 引入的概念,可以用来协助解决内存泄漏问题。然而事件也可能带来内存泄漏问题,是否有弱事件机制可以使用呢?.NET 没有自带的弱事件机制,但其中的一个子集 WPF 带了。然而我们不是什么项目都能引用 WPF 框架...

2023-10-22
1

推荐几款连字字体,在代码编辑器中启用连字字体(Visual Studio Code)

微软随 Windows Terminal 设计了一款新的字体 Cascadia Code,而这是一款连字字体。

2023-10-22
1

在 WPF 中获取一个依赖对象的所有依赖项属性

本来 .NET 中提供了一些专供设计器使用的类型 TypeDescriptor 可以帮助设计器找到一个类型或者组件的所有可以设置的属性,不过我们也可以通过此方法来获取所有可供使用的属性。...

2023-10-22
1

如何为非常不确定的行为(如并发)设计安全的 API,使用这些 API 时如何确保安全

.NET 中提供了一些线程安全的类型,如 ConcurrentDictionary<TKey, TValue>,它们的 API 设计与常规设计差异很大。如果你对此觉得奇怪,那么正好阅读本文。本文介绍为这些非常不确定的行为设计 API 时应该考虑的原则,了解这...

2023-10-22
1

设计一个 .NET 可用的弱引用集合(可用来做缓存池使用)

我们有弱引用 WeakReference<T> 可以用来保存可被垃圾回收的对象,也有可以保存键值对的 ConditionalWeakTable。

2023-10-22
1

MSBuild 在编写编译任务的时候判断当前是否在 Visual Studio 中编译

我们这里说的编译任务是 MSBuild 的 Target。虽然只有少部分,但确实有一些情况需要判断是否在 Visual Studio 中编译的时候才需要执行的编译任务,典型的如某些仅为设计器准备的代码。...

2023-10-22
1