2014-12-29 17 views

risposta

6

Preferirei mettere i metodi nella classe case. Inserirlo nell'oggetto associato sembra anti-pattern modello dominio anemico AnemicDomainModel.

Inoltre, è possibile sostituire i metodi case class in seguito o estendere e mescolare alcuni tratti.

5

Meglio mettere i metodi nella classe case; non è questo il punto di avere classi per niente? Un object è statico e di solito è un posto povero per i metodi, poiché significa che devono prendere un argomento in più rispetto a quello che altrimenti farebbero. Mi aspetto che il metodo della classe funzioni molto leggermente meglio, in quanto non è necessario caricare l'istanza dell'oggetto companion (e più in generale, è più vicino allo stile per cui JVM è ottimizzato), ma questo è quasi certamente troppo piccola differenza da importare in qualsiasi programma reale. Ovviamente nessuna regola è assoluta; se trovi che un particolare metodo sembra più adatto all'oggetto compagno, mettilo comunque lì.