Inveja de Recurso.
Um método acessa os dados de outro objeto mais do que os seus próprios dados.
##Sinais e sintomas
Um método acessa os dados de outro objeto mais do que os seus próprios dados.

class InvoicePrinter {
String line(Order order) {
return order.customer.name + ": " + order.item.sku + " x" + order.item.qty;
}
}##Causas do problema
Esse code smell pode ocorrer após campos serem movidos para uma classe de dados. Se for esse o caso, talvez você queira mover também as operações sobre os dados para essa classe.
##Tratamento
Refatorar com
##Benefícios
-
Menos duplicação de código (se o código de manipulação de dados for colocado em um local central).
-
Melhor organização do código (os métodos para manipular os dados ficam próximos dos próprios dados).
