Middle+
173
Beszéljen az interfészek szétválasztásának elvéről (Interface Segregation Principle).
Válasz az MI-től
sobes.tech MI
Az interfészek szétválasztásának elve (ISP) kimondja: az ügyfelek nem függhetnek olyan interfészektől, amelyeket nem használnak.
Ez azt jelenti, hogy egy nagyobb, sok módszert tartalmazó interfész helyett jobb több kisebb és specializáltabb interfészt létrehozni. Minden ügyfél csak azokat az interfészeket valósítsa meg, amelyekre valóban szüksége van.
Az ISP betartásának előnyei:
- Csökkentett kapcsolódás: Egy nagy interfész egyik módszerében történt változás nem érinti azokat az ügyfeleket, akik nem használják ezt a módszert.
- Rugalmasabb kód: Könnyebb új implementációkat hozzáadni, mivel csak a szükséges interfészeket kell megvalósítani.
- Javított olvashatóság: A kód áttekinthetőbb lesz, amikor az interfészek világosan meghatározzák a konkrét feladatokat.
Példa:
Ahelyett, hogy:
interface Worker {
void work();
void eat();
void sleep();
}
Jobb:
interface Workable {
void work();
}
interface Eatable {
void eat();
}
interface Sleepable {
void sleep();
}
Ezután a HumanWorker megvalósíthatja mindhárom:
class HumanWorker implements Workable, Eatable, Sleepable {
@Override
public void work() {
// ...
}
@Override
public void eat() {
// ...
}
@Override
public void sleep() {
// ...
}
}
És egy RobotWorker csak Workable:
class RobotWorker implements Workable {
@Override
public void work() {
// ...
}
}