Возможно ли это, и если да, есть ли в Delphi (Win32) реализации контейнеров Dependency Injection, которые поддерживают внедрение на основе «пользовательских атрибутов», что-то похожее на
TDiExample = class(TObject) private [Dependency] AOther: ISomeInterface ... end;
(См. Внедрение зависимостей и атрибуты .NET для аналога .Net и https://stackoverflow.com/questions/812599/is-there-a-dependency-injection-framework-for-delphi-or-free-pascal для платформ Delphi Win32 DI)
До сих пор я видел примеры использования прямых вызовов к контейнеру внедрения зависимостей, например:
var AOther: ISomeInterface ... AOther := DiContainer.Get(ISomeInterface) as ISomeInterface;
Да, это возможно. Мой простой DI-контейнер может сделать это в следующем выпуске, и будет много других улучшений. См. Текущую версию здесь http://code.google.com/p/delphidicontainer/