Princip segregacije interfejsa (eng. Interface Segregation Principle (ISP))
ISP princip naglašava važnost kreiranja specijalizovanih interfejsa umesto jednog, opšteg interfejsa.
Primer sa korisničkom korpu smo unapredili dodavanjem interfejsa RegularUserActions, koji obuhvata dve metode dostupne svim korisnicima: viewCart i checkOut. Pored standardnih korisnika, predstavljenih klasom RegularUser, uvedeni su i premium korisnici aplikacije, predstavljeni klasom PremiumUser, koji imaju pristup dodatnoj funkcionalnosti definisanoj u interfejsu PremiumUserActions.
Dodatna akcija dostupna premium korisnicima je addToWishList. Metode viewCart, checkOut, i za premium korisnike, addToWishList, su implementirane unutar klasa PremiumUser i RegularUser, pružajući tako specifične funkcionalnosti za različite tipove korisnika.
Prednosti korišćenja principa segregacije interfejsa su:
- Fleksibilnost
- Održivost
- Lakše razumevanje koda
- Robustnost
- Ponovna upotrebljivost
Primenom ISP principa stvaramo sisteme koji su modularniji, lakši za razumevanje i održavanje, te bolje prilagođeni promenama i razvoju kroz vreme.