Open/Closed Principle
Wedlug tej zasady jak sie chce wprowadzic zmiany w programie to powinno sie rozszerzyc klase i dopiero tam to zrobic. I serio tak sie programuje w powaznych firmach? Oczywiscie moze zle doczytalem i chce sie dowiedziec. Byly tez przyklady, ze chodzi tylko o to zeby nie hardkodowac innych klas w danej klasie, wiec zrobic tak zeby latwo mozna bylo dodac nowa klase, ale czy wtedy to nie jest lamanie zasady YAGNI?
Liskov Substitution Principle
A tutaj mamy ze nie wolno zmieniac dzialania danej metody, wiec czy to sie nie gryzie z zasada Open/Closed Principle? Ale pomijajac to czy rozszerzajac klase mozemy tylko cos dodac do metody, a nie zmieniac jej dzialanie i to co bylo w klasie nadrzednej musi sie wykonac?