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