Junior — Middle
¿Puede dar un ejemplo de cuándo la separación de interfaces está justificada en un proyecto?
sobes.tech AI
Respuesta de la IA
La separación de interfaces está justificada cuando tienes una interfaz grande con muchos métodos que no siempre son necesarios para todos los clientes. Por ejemplo, en un proyecto de iOS, puedes dividir un protocolo en varios más específicos para que diferentes clases implementen solo los métodos que realmente necesitan. Esto mejora la legibilidad del código y facilita su mantenimiento.
Ejemplo: hay un protocolo MediaPlayable con los métodos play(), pause(), stop(), record(). Si una clase solo se encarga de reproducir, no necesita implementar record(). Entonces, se puede dividir en dos protocolos:
protocol MediaPlayable {
func play()
func pause()
func stop()
}
protocol MediaRecordable {
func record()
}
De esta forma, las clases solo implementan las interfaces que necesitan.