D2D1
Win32 の Direct2D テクノロジの名前空間です。しかし、この名前の語源がわかりません。この部分はDirect direct2DをD2D
指している可能性が最も高いですが、最後の1 つは私を困惑させます...
接尾辞として「1」が付いたクラスもたくさんあります: IDWriteFactory1
、IDWriteFont1
、IDWriteTextLayout1
など — それらの目的と、接尾辞のない同様のオブジェクトとの違いは何ですか?
COM インターフェイスは、通常、バージョン管理を可能にするために番号を増やして名前が付けられます。COM インターフェイスが公開されると、COM 規則により、インターフェイスを変更することは許可されなくなります。そうしないと、既存のコードとの互換性が失われます。新しい機能を追加する必要がある場合は、新しいインターフェイスを公開する必要があります。例を挙げてみましょうIDWriteFactory1
。今日、それは最初のリリース インターフェイスです。将来的には、新しい方法IDWriteFactory2
で拡張するものが追加される可能性があります。IDWriteFactory1
について何も知らないため、既存のコードは保持されますがIDWriteFactory2
、新しいコードはIDWriteFactory1
オブジェクトを作成し、それを照会してサポートしているかどうかを確認し、サポートしているIDWriteFactory2
場合は、必要に応じて新しいメソッドを使用できます。
名前空間の命名D2D1
はおそらく似ています。バージョン管理の目的で使用されている可能性があります (Direct2D v1 ?)。おそらくD2D2
、既存の Direct2D アーキテクチャに適合しないもののために、(Direct2D v2) 名前空間が将来追加されるでしょう。誰が確かに知っています。