Me explico ;-)Scala contaminación caso objeto
ambas clases siguientes están en com.company.foo paquete
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
El problema aquí es que ADMIN es ambigua, ya que no hay separación con el espacio de nombres objetos del caso Parece que solo puede haber un objeto de caso con nombre único por paquete.
Supongo que podría nombrar objetos de casos basados en la función a la mailADMIN, roleADMIN y más. ¿O debería crear Enumeramientos adecuados y olvidarme de los objetos del caso? O tomar otro enfoque?
En este caso, parece que usar las enumeraciones sería una buena idea ya que puede especificar 'RoleGroup.Admin' contra' MailSender.Admin' sin preocuparse por la contaminación del espacio de nombres. – adelbertc
sí, parece ser el camino a seguir, solo tratando de ver cuáles son las opciones. Quizás los objetos de mayúsculas y minúsculas estén destinados a ser utilizados solo en el ámbito local, o donde no exista posibilidad de colisión de nombres. – virtualeyes