Zasada segregacji interfejsów

zasada segregacji interfejsow

“Wiele dedykowanych interfejsów jest lepsze niż jeden ogólny.”  Nie powinniśmy implementować w klasie metod, z których dana klasa nie korzysta.  Interfejsy powinny odpowiadać za kilka metod. W przypadku interfejsów z bardzo dużą ilością metod może nastąpić sytuacja, w której będziemy zmuszeni naruszyć zasadę ISP i zaimplementować niepotrzebną funkcję, aby aplikacja działała w poprawny sposób.

zasada segregacji interfejsów

Klasa Accountant opisująca wykonywane zadania w czasie pracy przez księgową implementuje interfejs  Employee. Zawiera on funkcję rideForklift (jeżdżę wózkiem widłowym), z której nie korzysta klasa Accountant.  Zasada ISP podpowiada, aby rozwiązać takie problemy tworząc większą ilość interfejsów.

segregacja interfejsów

W tym kodzie interfejs Employee ma mniejszą ilość funkcji i stworzono dwa dodatkowe interfejsy.  Klasa Accountant implementuje dwa interfejsy i nie posiada teraz niepotrzebnych metod.

Dodaj komentarz

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