Существует ли DI-инфраструктура для Delphi, которая использует такие атрибуты, как [Dependency]? - PullRequest
4 голосов
/ 29 мая 2011

Возможно ли это, и если да, есть ли в 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;

1 Ответ

5 голосов
/ 29 мая 2011

Да, это возможно. Мой простой DI-контейнер может сделать это в следующем выпуске, и будет много других улучшений. См. Текущую версию здесь http://code.google.com/p/delphidicontainer/

...