Delphi Spring DI: É possível delegar instanciação de interface sem um tipo de implementação?

Estou apenas começando com o Delphi Spring Framework e queria saber se a versão atual do contêiner DI de alguma forma permite delegar a construção para um método de fábrica sem especificar um tipo de implementação?

Por exemplo. algo parecido com isto:

GlobalContainer
  .RegisterFactory<ISomeObject>(
    function: ISomeObject 
    begin 
      Result := CreateComObject(CLASS_SomeObject) as ISomeObject; 
    end)
  .Implements<ISomeObject>  // could probably be implied from the above
  .AsSingletonPerThread;

Como você pode ver, meu caso de uso específico é a instanciação de objetos COM. Nesse caso, a classe que implementa a interface em que estou interessado não faz parte do meu aplicativo, mas ainda posso criar instâncias chamandoCreateComObject / CoCreateInstance. No entanto, parece que estou sem sorte, pois os registros no contêiner sempre parecem estar vinculados a uma classe de implementação real.

Supondo que isso não seja possível como tal no momento, como vocês especialistas resolvem isso? Você criaria uma classe de invólucro ou classe fictícia ou simplesmente manteria os objetos COM fora do contêiner DI e simplesmente os instanciaria viaCreateComObject?

questionAnswers(2)

yourAnswerToTheQuestion