Я видел в Microsoft COM и XPCOM, по крайней мере из того, что я прочитал и собрал до сих пор, что реализации интерфейсов в компоненте должны быть по существу в одном классе, который получает все виртуальные интерфейсы. Это правильно? Чего мне не хватает?
Есть ли способ иметь несколько объектов (возможно, в отдельных DLL), каждый из которых обеспечивает свою функциональность и при этом может свободно перемещаться между ними с помощью QueryIterface?
То, что я ищу, - это наличие компонента с некоторой функциональностью, но все же позволяющий внешнему клиентскому коду создавать новые расширения компонента с (возможно) новыми интерфейсами. В идеале это должно происходить без разглашения текущего источника компонента и его реализации.