Solid Principles In Oop