Catalogo de Refatoração: Movendo Recursos Entre Objetos #3

ed-moving-boxes_480_thumbIntroduzir Método Externo – use quando encontrar um objeto que precise de um método adicional para uso local, mas você não tem como modifica-lo. Adicione um método estático com o nome desse comportamento que receba como parâmetro a referência desse objeto.

Introduzir Extensão Local – use quando encontrar um objeto que precise de métodos adicionais para uso global, mas você não tem como modifica-lo. Crie uma nova classe que contenha os métodos adicionais, tornando essa uma extensão da classe ou um envoltório da classe original, delegando as chamadas usando delegação oculta. Classe envoltória será bem mais trabalhosa, uma vez que será necessário replicar todos os métodos utilizados da interface da classe original.

Para todas as informações, veja o post inicial.

“A luz raia nas trevas para o íntegro, para quem é misericordioso, compassivo e justo.” Salmos 112:4