Junior — Middle
Qual é o papel do padrão Delegação na programação orientada a objetos e por que é utilizado?
sobes.tech IA
Resposta da IA
O padrão de Delegação na programação orientada a objetos é uma forma de transferir a responsabilidade de executar uma tarefa específica para outro objeto. Em vez de a classe implementar ela mesma uma funcionalidade, ela a delega a outro objeto que se especializa nessa tarefa.
Isto permite:
- Dividir responsabilidades entre classes, melhorando a modularidade.
- Aumentar a reutilização do código.
- Simplificar a manutenção e expansão da funcionalidade.
- Evitar herança quando a composição é suficiente.
Por exemplo, no Android, a delegação é frequentemente usada para lidar com eventos: a atividade delega o tratamento de cliques de botões a um objeto ouvinte separado.
class ButtonHandler {
fun onClick() {
println("Botão clicado")
}
}
class Activity {
private val handler = ButtonHandler()
fun buttonClicked() {
handler.onClick() // delega o tratamento
}
}