SOLID by Diagram OOP foundations, then the five SOLID principles