Logo ConstructiCat
CodeBust.
Parcourir la section ▾

Envie de fonctionnalité.

Une méthode accède aux données d'un autre objet plus qu'à ses propres données.

##Signes et symptômes

Une méthode accède aux données d'un autre objet plus qu'à ses propres données.

class InvoicePrinter {
  String line(Order order) {
    return order.customer.name + ": " + order.item.sku + " x" + order.item.qty;
  }
}

##Causes du problème

Cette mauvaise odeur peut apparaître après le déplacement de champs vers une classe de données. Si c'est le cas, vous voudrez peut-être déplacer également vers cette classe les opérations sur les données.

##Traitement

##Bénéfices

  • Moins de duplication de code (si le code de manipulation des données est regroupé à un endroit central).

  • Meilleure organisation du code (les méthodes de manipulation des données se trouvent à côté des données elles-mêmes).