Logotipo do ConstructiCat
CodeBust.
Explorar a seção ▾

Intermediário.

Se uma classe realiza apenas uma ação, delegando o trabalho a outra classe, por que ela existe?

##Sinais e sintomas

Se uma classe realiza apenas uma ação, delegando o trabalho a outra classe, por que ela existe?

class Department {
  Person manager;
  String managerName() { return manager.name(); }
  String managerPhone() { return manager.phone(); }
}

##Causas do problema

Esse code smell pode ser o resultado da eliminação excessiva de Cadeias de Mensagens.

Em outros casos, ele pode ser o resultado de o trabalho útil de uma classe ser gradualmente movido para outras classes. A classe permanece como uma casca vazia que não faz nada além de delegar.

##Tratamento

##Benefícios

  • Código menos volumoso.