Выходит, что от solid остаются только oid, где O допустим можно нарушить с помощью D (я хз, но мы же в DI можем вносить изменения через условно Ambient Context), I - это ад-хок кейс композиции, а D вот норм, но там тоже куча подводных камней есть при реализации.
Допустим DI применяется для инверсной кинематики, а там есть IK цепи и для их реализации так вообще нужно LSP нарушать, чтобы ковариантность выполнялась