там есть раздел про DI в разных фреймворках .NET и как раз сказано, что если фреймворк берет на себя ответственость за создание компонента то DI очень усложняется) я домой приеду вам сфотку нужную страницу)))
да там в принципе к .net приявязка не такая уж большая, любой статическитипизированный язык сгодится, просто если интересуетесь академическими вещами, то там много интересного)