Sobes.tech
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
    }
}