▲ | owlstuffing 3 days ago | |
> Aggregation is not inheritance, rather a workaround, using delegation Although the designers of COM had the right idea, they implemented delegation in just about the worst way possible. Instead of implementing true delegation with multiple interface inheritance, similar to traits, they went pure braindead compositional. The result: unintuitive APIs that led to incomprehensible chains of QueryInferface calls. | ||
▲ | pjmlp 3 days ago | parent [-] | |
In general the tooling sucks, which is kind of strange given how relevant COM is on Windows, even moreso since Windows Vista. It seems the Windows team is against having something like VB 6, Delphi, C++ Builder, .NET Framework, MFC, approaches to COM tooling, just out of principle. Thus we end up with low level clunky code, with endless calls to specific API like QueryInferface(), manually written boilderplate code, and with the IDL tools, manually merging generated code, because they were not designed to take into account existing code. |