Junior — Middle
Pode dar um exemplo de quando a separação de interfaces é justificada num projeto?
sobes.tech IA
Resposta da IA
A separação de interfaces é justificada quando tem uma interface grande com muitos métodos que nem sempre são necessários para todos os clientes. Por exemplo, num projeto iOS, pode dividir um protocolo em vários mais específicos para que diferentes classes implementem apenas os métodos que realmente precisam. Isto melhora a legibilidade do código e facilita a manutenção.
Exemplo: há um protocolo MediaPlayable com os métodos play(), pause(), stop(), record(). Se uma classe só se encarrega de reproduzir, não precisa implementar record(). Então, pode dividir em dois protocolos:
protocol MediaPlayable {
func play()
func pause()
func stop()
}
protocol MediaRecordable {
func record()
}
Desta forma, as classes implementam apenas as interfaces de que precisam.