Sobes.tech
Middle+
174

Խոսեք ինտերֆեյսների բաժանման սկզբունքի մասին (Principle of Segregation of Interfaces).

Պատասխան AI-ից

sobes.tech AI

Ինտերֆեյսների բաժանման սկզբունքը (ISP) ասում է՝ հաճախորդները չպետք է կախված լինեն այն ինտերֆեյսներից, որոնք նրանք չեն օգտագործում:

Սա նշանակում է, որ մի մեծ ինտերֆեյսի փոխարեն ավելի լավ է ստեղծել մի քանի փոքր և մասնագիտացված ինտերֆեյսներ: Յուրաքանչյուր հաճախորդ պետք է իրականացնել միայն այն ինտերֆեյսները, որոնք իսկապես անհրաժեշտ են:

Ինտերֆեյսների բաժանման պահպանման առավելությունները՝

  • Կրճատել կապը: Մեծ ինտերֆեյսի մի մեթոդում կատարված փոփոխությունները չեն ազդի այն հաճախորդների վրա, որոնք չեն օգտագործում այդ մեթոդը:
  • Կոդը ավելի ճկուն: Նոր իրականացումները ավելացնելը ավելի հեշտ է, քանի որ նրանք պետք է իրականացնել միայն անհրաժեշտ ինտերֆեյսները:
  • Կոդի ընթեռնելիությունը բարելավվում է: Երբ ինտերֆեյսները հստակ սահմանում են կոնկրետ պարտականությունները:

Օրինակ՝

Ավելի լավ է՝

interface Workable {
    void work();
}

interface Eatable {
    void eat();
}

interface Sleepable {
    void sleep();
}

Այդպիսով՝

class HumanWorker implements Workable, Eatable, Sleepable {
    @Override
    public void work() {
        // ...
    }

    @Override
    public void eat() {
        // ...
    }

    @Override
    public void sleep() {
        // ...
    }
}

Եվ միայն Workable-ը իրականացնող RobotWorker:

class RobotWorker implements Workable {
    @Override
    public void work() {
        // ...
    }
}