SOLID Prensipleri tarih: Haziran 06, 2023 closed dependency design interface inversion liskov oop open patterns prensipler principles python segregation single responsibility software software design solid substitution +