O jak Open-closed principle, czyli zasada otwarte/zamknięte

przez | 7 lutego, 2020

Open-closed principle — Zasada otwarte/zamknięte

Każdy składnik oprogramowania powinien być otwarty na rozszerzenia i zamknięty na modyfikacje.

Dotyka ona dwóch zagadnień:

  1. Zagadnienie otwarte — Składniki powinny być stworzone w sposób umożliwiający łatwe rozszerzenie ich zachowania. Zmiana ich zachowania nie wymaga zmiany istniejącego kodu, lecz dopisanie nowego.
  2. Zagadnienie zamknięte — Modyfikacja zachowania nie powinna wiązać się ze zmianą już istniejącego kodu.

Regułę tę można stosować do metod, funkcji, klas, modułów oraz pakietów. Do jej stosowania wykorzystuje się zasadę Pojedynczej odpowiedzialności oraz regułę odwróconych zależności.

Bestseller dnia w księgarni Złote Myśli

Zalety

  • Większa elastyczność.
  • Ponowne wykorzystywanie kodu.
  • Łatwiejsze utrzymanie oprogramowania.
  • Łatwiejsza rozbudowa systemu.
  • Zapewnianie wstecznej kompatybilności.

Wady

  • Duża trudność i pracochłonność podczas tworzenia oprogramowania.

Przykład

  • Kalkulator liczący powierzchnię figur iteruje po liście obiektów implementujących interfejs IFigure, zamiast korzystania z switcha rozróżniającego po typie każdą klasę.
  • Generatory raportów generujący raport implementujący interfejs IReportGenerator, którego można wstrzykiwać w klientów w zależności, jaki raport chcą (Pdf, Html).

Wszystkie posty związane z mini projektem: Poznaj zasady SOLID i OOP:

Źródła

Obraz główny

Materiały

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *