I jak Interface segregation principle, czyli Zasada segregacji interfejsów

przez | 11 lutego, 2020

Interface segregation principle — Zasada segregacji interfejsów

Wiele dedykowanych i małych interfejsów jest lepsze niż jeden ogólny.

Celem zasady segregacji interfejsów jest wyzbycie się z oprogramowania interfejsów, które odpowiadają za robienie wielu rzeczy. Źle zaprojektowane interfejsy mają tendencje do rozrastania się do zbyt wielkich rozmiarów, stają się one przez to  niespójne. Klasy, które je implementują, muszą implementować metody, których nie powinny. Zależne są one od metod, których nie używają.

Regułę tę można stosować do metod, funkcji, klas, modułów oraz pakietów.

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

Zalety

  • Łatwiejsze zapewnienie Zasady podstawienia Liskov oraz Zasady pojedynczej odpowiedzialności.
  • Łatwiejsze utrzymanie kodu.
  • Większa czytelność kodu.
  • Łatwiejsze zmienianie kodu.
  • Brak konieczności implementacji niepotrzebnych metod w klasach, które nie powinny ich mieć.
  • Brak interfejsów-bogów.
  • Mniejsza zależność kodu od innego kodu.

Wady

  • Duża liczba interfejsów.
  • Większa pracochłonność podczas tworzenia oprogramowania.

Przykład

  • Interfejs Zwierzę ma metodę Biegnij. Ten interfejs implementuje klasa Pies i Ryba. W klasie Ryba metoda Biegnij jest zbędna.
  • Interfejs File ma dwie metody: Zapisz i Czytaj. Klasa PlikTylkoDoOdczytu implementuje ten interfejs i w metodzie Zapisz nie zapisuje nic do pliku, ponieważ nie może — jest to przecież plik tylko do odczytu.

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 *