Sobes.tech
Junior — Middle

Môžete uviesť príklad, kedy je rozdelenie rozhraní v projekte odôvodnené?

sobes.tech AI

Odpoveď od AI

Rozdelenie rozhraní je odôvodnené, keď máte veľké rozhranie s mnohými metódami, ktoré nie sú vždy potrebné pre všetkých klientov. Napríklad v projekte iOS môžete rozhranie rozdeliť na niekoľko užších, aby rôzne triedy implementovali iba tie metódy, ktoré naozaj potrebujú. To zlepšuje čitateľnosť kódu a uľahčuje údržbu.

Príklad: existuje protokol MediaPlayable s metódami play(), pause(), stop(), record(). Ak trieda je zodpovedná iba za prehrávanie, nemusí implementovať record(). Potom sa dá rozdeliť na dva protokoly:

protocol MediaPlayable {
    func play()
    func pause()
    func stop()
}

protocol MediaRecordable {
    func record()
}

Takto triedy implementujú iba potrebné rozhrania.