Sobes.tech
Junior — Middle

Можете ли дати пример када је раздвајање интерфејса оправдано у пројекту?

sobes.tech АИ

Одговор од АИ

Раздвајање интерфејса је оправдано када имате велики интерфејс са много метода који нису увек потребни свим клијентима. На пример, у iOS пројекту можете поделити протокол на неколико ужих, тако да различите класе реализују само оне методе које им заиста требају. Ово побољшава читљивост кода и олакшава одржавање.

Пример: постоји протокол MediaPlayable са методама play(), pause(), stop(), record(). Ако класа одговара само за репродукцију, није потребно да реализује record(). Тада се може поделити на два протокола:

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

protocol MediaRecordable {
    func record()
}

Тако класе реализују само потребне интерфејсе.