Mi spiego ;-)scala inquinamento caso oggetto
entrambe le classi inferiori sono in pacchetto com.company.foo
RoleGroup.scala
abstract class RoleGroup
case object ADMIN extends RoleGroup
case object MEMBER extends RoleGroup
MailSender.scala
abstract class MailSender
case object ADMIN extends MailSender
case object STAFF extends MailSender
case object ACCOUNTANT extends MailSender
Il problema qui è che ADMIN è ambiguo dal momento che non v'è separazione spazio dei nomi con caso degli oggetti. Sembra che ci possa essere solo un caso caso con nome univoco per pacchetto.
Suppongo di poter denominare gli oggetti case in base alla funzione a la mailADMIN, al ruoloADMIN e così via. O dovrei semplicemente creare Enum corretto e dimenticare gli oggetti del caso? O prendere qualche altro approccio?
In questo caso sembra che utilizzare le enumerazioni sarebbe una buona idea dato che è possibile specificare 'RoleGroup.Admin' contro' MailSender.Admin' senza preoccuparsi dell'inquinamento dello spazio dei nomi. – adelbertc
sì, quella sembra la strada da percorrere, solo cercando di vedere quali sono le opzioni. Forse gli oggetti case devono essere utilizzati solo nell'ambito locale o dove non ci sono possibilità di collisione di nomi. – virtualeyes