Sobes.tech
Junior — Middle

Tudna példát mondani arra, mikor indokolt az interfészek szétválasztása egy projektben?

sobes.tech MI

Válasz az MI-től

A felületek szétválasztása indokolt, ha van egy nagy felület, sok módszerrel, amelyek nem mindig szükségesek minden kliens számára. Például egy iOS projektben egy protokollt több szűkebb protokollra lehet bontani, hogy különböző osztályok csak azokat a módszereket valósítsák meg, amelyekre valóban szükségük van. Ez javítja a kód olvashatóságát és megkönnyíti a karbantartást.

Példa: van egy MediaPlayable protokoll play(), pause(), stop(), record() módszerekkel. Ha egy osztály csak a lejátszásért felelős, nem kell megvalósítania a record()-ot. Ekkor két protokollra lehet bontani:

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

protocol MediaRecordable {
    func record()
}

Így az osztályok csak a szükséges interfészeket valósítják meg.