Questo è un esempio di Data Envy? Come lo risolvo?

0

Ho uno scenario in cui sto usando un servizio esterno che richiede un grosso hash di parametri come:

def external_service_params(user, invoice)
  {
    name: user.name,
    email: user.email,
    phone: user.phone,
    invoice_id: invoice.id,
    invoice_number: invoice.number,
    invoice_total: invoice.total
  }
end

Si tratta di un caso di "invidia caratteristica" o "invidia dati"? In tal caso, la soluzione è spostare il metodo nell'altro oggetto. Ma mi sento a disagio perché la serie di dati richiesta riguarda solo il servizio esterno. Se continuassi a farlo, mi sento come se i miei altri oggetti di dati fossero gonfiati da molti metodi. Sto interpretando male l'odore o ci sono soluzioni migliori?

    
posta Mark Agbuya 03.07.2015 - 07:36
fonte

0 risposte

Leggi altre domande sui tag