BeAcademy_FromZeroToHero_Solid SOLID Single Responsability Principle Open-Closed Principle Liskov Substitution Principle Interface Segregation Principle Dependency Inversion Principle