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 Automation, ин принсип дар тарҳрезии рамзҳои тестӣ, синфҳои ёрирасон ва саҳифаҳои модели объектӣ (Page Object Model) муҳим аст, то аз вобастагии зиёдатӣ пешгирӣ шавад ва код бештар модулӣ ва осонтар барои тест ва нигоҳдорӣ бошад. Масалан, интерфейси кор бо намудҳои гуногуни унсурҳои вебсаҳифа метавонад ба интерфейсҳои хурдтар барои тугмаҳо, майдонҳои воридотӣ, рӯйхатҳои афтанда ва ғайра тақсим карда шавад.