C # часто использует внедрение зависимостей (DI), чтобы иметь без потерь и тестируемый < / strong> платформа. Для этого мне нужен interface
и, возможно, контейнер DI или Inversion of Control (IoC) для разрешения моих экземпляров.
Но как это сделать в C ++? Я немного читал об этом, и мне кажется, что внедрение зависимостей в C ++ не такая большая тема, как в C #. В C ++ вы используете ссылку на объект - это способ использования DI в C ++, верно?
Если моя теория со ссылками верна, есть ли что-то вроде контейнера, в котором я могу разрешить все ссылки? В C # у меня есть "bad class/bad project/assembly"
, который регистрирует все мои экземпляры в статическом контейнере при запуске программы. Затем в каждом классе я могу создать экземпляр статического контейнера и разрешить конкретный экземпляр, возможно ли это в C ++?
Используете ли вы внедрение зависимостей (или как там это называется) в C ++? Если да, то как вы это используете? Есть ли сходство с C #?