Я пишу программу анализа среднего размера (5-10kloc) в MATLAB (не мое решение), и я пытаюсь использовать инъекцию зависимостей, чтобы сделать мой код более проверяемым. Я думаю, что я понимаю базовую модель внедрения объекта/конструктора, но я смущен тем, как это масштабирует граф зависимостей.Зависимость впрыска без рамки
Например, если у меня есть объект A, у которого есть объект B, у которого есть объект C, а объект C имеет зависимость, которая должна быть введена, нужно ли передавать его по всей цепочке? В конце концов, поскольку это программа анализа данных, все в основном возвращается к одному объекту/методу AnalyzeData, означает ли это, что у этого объекта должны быть все зависимости всей программы?
Возможно, ответ заключается в просто использовании ServiceFactory/ServiceProvider в этом случае, но я хотел бы знать, можно ли масштабировать многие зависимости до большого графа объектов без рамки.
Кроме того, исправления в отношении моего мышления/формулировки/основы поощряются - я в основном изучал большую часть этого через Google/HN/SO.
Что означает HN? – iddober
Это отнюдь не ответ, но из всех тех, кто может ответить на этот вопрос, взгляните на (довольно приятный) [рамки DI для Matlab] (https://github.com/mattmcd/mdepin), написанный Мэттом Макдоннеллом. Это должно заставить вас идти .... – Kris
Следуйте за комментарием Криса, вот блог на тему, посвященный MATLAB (и с использованием рамки DI Matt MCDonnell): http://blogs.mathworks.com/developer/2016/02/24/dependency-injection/ –