SOLID principles examples