Sobes.tech
Junior — Middle

Kas saaksite anda näite, millal on liideste eraldamine projektis õigustatud?

sobes.tech AI

Vastus AI-lt

Interfeiside jaotamine on põhjendatud, kui teil on suur liides, mis sisaldab palju meetodeid, mis ei ole alati kõigile klientidele vajalikud. Näiteks iOS-projektis saate protokolli jagada mitmeks kitsamaks, nii et erinevad klassid rakendavad ainult neid meetodeid, mis neile tõesti vajalikud on. See parandab koodi loetavust ja lihtsustab hooldust.

Näide: on olemas protokoll MediaPlayable koos meetoditega play(), pause(), stop(), record(). Kui klass tegeleb ainult esitamisega, siis ei ole vaja rakendada record(). Siis saab selle jagada kaheks protokolliks:

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

protocol MediaRecordable {
    func record()
}

Nii rakendavad klassid ainult neid liideseid, mis neile on vajalikud.