Skip to content

Interface Segregation Principle (ISP)

Miért?
Az olyan teljesítmény-leírások, melyek a konkrét megvalósítástól függetlenek, függetlenné tesznek.

Az Interface Segregation Principle (ISP) egy további SOLID elv. A Segregation azt jelenti, hogy leválasztás. Ez az elv azt mondja, hogy egy kliens ne függjön egy szerviz részleteitől, amelyekre neki nincs is szüksége. Minél kevesebb dolog található az interfészben, annál lazább a csatolás (coupling) a két komponens között.Gondoljunk csak bele, ha egy olyan dugaszt kellene terveznünk, amelyikkel egy monitort egy számítógépre lehet csatlakoztatni. Úgy döntünk, hogy minden jelet, amely egy számítógépben felléphet, egy dugaszon keresztül rendelkezésre bocsájtunk. Ennek ugyan lesz pár száz lába, de maximálisan rugalmas lesz. Sajnálatos módon ezzel a csatolás (coupling) is maximálissá válik.

A dugasz példáján nyilvánvaló, hogy egy monitor-összeköttetésnek csak azokat a jeleket kell tartalmaznia, amelyek egy kép ábrázolásához szükségesek. Ugyanez van a szoftver interfészeknél is. Ezeknek is a lehető legkisebbnek kellene lenniük, hogy elkerüljük a felesleges csatolást (coupling). És pont mint a monitordugasznál az interfésznek erős összetartásúnak (cohesion) kell lennie. Csak olyan dolgokat kellene tartalmaznia, amelyek szorosan összefüggnek.

Az Interface Segregation Principle alkalmazásához a két refaktorálás Extract interface és az Extract superclass áll rendelkezésre.

Published inElvek