D2D1
是 Win32 中 Direct2D 技术的命名空间。但是我不明白这个名字的词源。这D2D
部分最有可能是指Ddirect2D,但最后1部分让我感到困惑......
还有很多以“1”为后缀的类:IDWriteFactory1
、IDWriteFont1
、IDWriteTextLayout1
等——它们的目的是什么,与没有后缀的类似对象有什么区别?
COM 接口通常以递增的数字命名以允许版本控制。公开发布 COM 接口后,COM 规则规定不允许再更改接口,否则与现有代码的兼容性会中断。如果需要添加新功能,则必须公开新接口。让我们举个IDWriteFactory1
例子。今天,这是第一个发布界面。将来,可能IDWriteFactory2
会添加IDWriteFactory1
以新方法扩展的功能。IDWriteFactory2
现有代码被保留,因为他们不知道任何IDWriteFactory1
关于IDWriteFactory2
.
命名D2D1
空间的命名可能类似。它可能被用于版本控制(Direct2D v1 ?)。也许D2D2
将来会为不适合现有 Direct2D 架构的事物添加(Direct2D v2)命名空间。谁知道肯定。