1. DIP в первую очередь заботится о том, чтобы класс зависел только от абстракции более высокого уровня. В моем случае класс модуль это абстракция, так как при регистрации конкретного модуля подразумевает под собой кучу всего.
3. И вот он ДИ GetServices<ITradingStrategy>() это и есть ДИ
2. Вот она инъекция зависимостей.