Sobes.tech
Middle+

Խոսեք ինտերֆեյսի բաժանման սկզբունքի մասին։

sobes.tech AI

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

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

Այսինքն, ավելի լավ է ունենալ բազմաթիվ փոքր, մասնագիտացված ինտերֆեյսներ, քան մեկ մեծ, "ծանր" ինտերֆեյս:

Առավելություններ:

  • Համակցման նվազեցում: Սրասարքերը կախված են միայն այն մեթոդներից, որոնք իսկապես անհրաժեշտ են:
  • Կարգավիճակի բարելավում: Փոփոխությունները մեկ ինտերֆեյսում չեն ազդում այն դասերի վրա, որոնք չեն օգտագործում փոփոխված մեթոդը:
  • Անհրաժեշտության դեպքում ճկունության բարձրացում: Սրասարքերը կարող են իրականացնել միայն անհրաժեշտ ինտերֆեյսները:

Օրինակ (PHP):

<?php
// Ճիշտ օրինակ՝ "ծանր" ինտերֆեյս
interface WorkerInterface {
    public function work();
    public function eat();
    public function sleep();
}

// Լավ օրինակ՝ մասնագիտացված ինտերֆեյսներ
interface WorkerInterface {
    public function work();
}

interface EatableInterface {
    public function eat();
}

interface SleepableInterface {
    public function sleep();
}
?>

QA/QA ավտոմատացման մեջ այս սկզբունքը կարևոր է թեստային ֆրեյմվորկների, օգնական դասերի և օբյեկտային մոդելի էջերի (Page Object Model) նախագծման ժամանակ՝ ավելորդ կախվածությունները կանխելու և կոդը ավելի մոդուլային և հեշտ թեստավորելի և սպասարկելի դարձնելու համար: Օրինակ, վեբ էջի տարբեր տարրերի հետ աշխատելու համար ինտերֆեյսը կարող է բաժանվել ավելի փոքր ինտերֆեյսների՝ կոճակների, մուտքային դաշտերի, անկողնային ցանկերի և այլն համար։