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.