Junior — Middle
Можете ли дати пример када је раздвајање интерфејса оправдано у пројекту?
sobes.tech АИ
Одговор од АИ
Раздвајање интерфејса је оправдано када имате велики интерфејс са много метода који нису увек потребни свим клијентима. На пример, у iOS пројекту можете поделити протокол на неколико ужих, тако да различите класе реализују само оне методе које им заиста требају. Ово побољшава читљивост кода и олакшава одржавање.
Пример: постоји протокол MediaPlayable са методама play(), pause(), stop(), record(). Ако класа одговара само за репродукцију, није потребно да реализује record(). Тада се може поделити на два протокола:
protocol MediaPlayable {
func play()
func pause()
func stop()
}
protocol MediaRecordable {
func record()
}
Тако класе реализују само потребне интерфејсе.