Диаграммы взаимодействия UML могут явно показывать такие отношения: это вызывает ...
Диаграммы классов UML могут показывать, что этот класс использует этот интерфейс, и этот интерфейс реализован этим классом.
Теперь такие диаграммы являются утверждениями «в определенный момент времени» о конкретном выборе, сделанном для конкретного выполнения, какие конкретные инъекции могли произойти. Таким образом, в некоторой степени, предоставляя диаграммы, вы отходите от обычно гибкого дизайна, который вы используете, однако я могу понять, что люди находят такие изображения полезными.
Я пытаюсь подумать об аспектах проектирования в отношении интерфейсов, мне действительно не нужно понимать, «как» методы, описанные интерфейсом, на самом деле работают, понимать, что делают реализации. Одна идея заключается в том, что нам нужно использовать подход «черного ящика» к нашим зависимостям. Поэтому я бы посоветовал людям не нуждаться в таких схемах, а думать с точки зрения ответственности. (что очень хорошо, пока что-то не работает, тогда диагностика может потребовать больше), но подумайте: когда вы используете много возможностей операционной системы и .NET, вы действительно знаете, что на самом деле происходит? Можете ли вы применить тот же ментальный подход к другим частям кода вашего приложения?