Delegation
Na engenharia de software, o padrão de delegação é um padrão de design orientado a objetos que permite que a composição de objetos atinja a mesma reutilização de código que a herança, e serve como uma alternativa para obter o mesmo efeito da herança múltipla em linguagens que não a suportam.
Na delegação, um objeto (equivalente a classe filho na herança) lida com uma solicitação delegando a um segundo objeto (o delegate(delegado) )(equivalente a classe pai na herança), para isso o primeiro objeto torna-se proprietário do segundo objeto para usar suas propriedades e métodos. O delegado é um objeto auxiliar, mas com o domínio original . Com uma linguagem que tenha suporte para delegação, isso é feito implicitamente, fazendo com que o self no delegado se refira ao objeto original (de envio), não ao delegado (objeto de recebimento). No padrão delegation, isso é feito ao passar explicitamente o objeto original para o delegado como uma de suas propriedades. Observe que "delegação" costuma ser usada de maneira vaga para se referir ao conceito distinto de forwarding (encaminhamento), onde o objeto de envio simplesmente usa o membro correspondente no objeto de recebimento, avaliado no campo do objeto de recebimento, não o objeto original, no caso da delegação o objeto original está no campo do objeto delegado.
Observe que este artigo usa "objeto de envio / objeto de recebimento" para os dois objetos, em vez de "objeto de recebimento / delegado", enfatizando quais objetos enviam e recebem a chamada de delegação, não a chamada original.
Similar Artists