Zasady S.O.L.I.D – Open/closed principle

Zasada O\C mówi, że oprogramowanie powinno być otwarte na rozszerzenia a zamknięte na modyfikacje. Innymi słowy programista powinien być w stanie uzyskać zamierzony efekt poprzez rozszerzenie klasy czy przeładowanie metody a nie zmianę już istniejącego kodu. Zasada jest szczególnie istotna w przypadku kodu produkcyjnego, w którym wszelkie możliwości modyfikacji kodu są ograniczone. Zasada pozwala budować modularne systemy. Użycie ENUM moim zdaniem jest złamaniem Open\Closed principle. Wykorzystując w kodzie typy enumeryczne oraz instrukcje sterujące zamykamy w pewnym sensie możliwości rozszerzenia systemu. Wprowadzenie nowych opcji wymaga bowiem modyfikacji typu enumerycznego. Nie oznacza to oczywiście, że zawsze należy unikać ENUM. Często jest to najwygodniejsze rozwiązanie oraz liczba podtypów jest z góry znana (np. formatowanie tekstu – mamy zbiór zamknięty możliwych opcji).

Pod adresem http://www.oodesign.com/open-close-principle.html znajduje się krótki przykładzik obrazujący złamanie zasady.

2 thoughts on “Zasady S.O.L.I.D – Open/closed principle”

Leave a Reply

Your email address will not be published.