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

przez Karol Bocian | 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.

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

Kategoria: IT Projekt Poznaj zasady SOLID i OOP Tagi: it, OOP, programowanie, SOLID

O Karol Bocian

Programowanie i świat agentów programowalnych, który poznał na Wydziale Matematyki i Nauk Informacyjnych, wciągnął go w przemysł IT. W trakcie swojej praktyki zawodowej Karol zrozumiał, że nie ważne co się robi i kim się jest, ale wiedza z zarządzania przydaje się wszędzie. Rozpoczął studia na kierunku Zarządzanie i Inżyniera Produkcji. W przypadku Karola zarządzanie to nie tylko teoria czy praca, ale prawie każdy element jego życia, to jego pasja.