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() {
// ...
}
}