Я читал статьи о S.O.L.I.D. но я не вижу разницы между OCP и DIP. Взгляните на этот пример OCP:
http://www.oodesign.com/open-close-principle.html
Код, содержащий OCP, также выполняет DIP. Может ли кто-нибудь дать мне пример кода, который содержит OCP, а не DIP?