Open/Closed Principle

OCP mówi o tym, że klasy, moduły bądź funkcje powinny być otwarte na rozbudowę, rozszerzanie, a zamknięte na modyfikacje. Zasada ta wymusza stosowanie abstrakcji, ponieważ w programie powinna być wydzielona część wspólna i specyficzna. Część wspólna powinna być zamknięta w interfejsie lub klasie abstrakcyjnej, zaś część specyficzna powinna znajdować się w konkretnej klasie, która implementuje dany interfejs lub dziedziczy daną klasę abstrakcyjną. Zły kod przedstawia jedną klasę Figure, gdzie znajduje się jedna metoda liczącą obwód kwadratu i prostokąta. Jeżeli chcielibyśmy rozszerzyć implementację o następną figurę to potrzebna jest modyfikacja całej metody. W dobrym kodzie został wydzielony interfejs Figure, który implementują poszczególne figury. Dzięki takiemu rozwiązaniu łatwo jest dodać kolejne klasy figur z zachowaniem niezmienionego interfejsu.   

ZŁY KOD
DOBRY KOD

Leave a Comment

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *