Wie lautet die "richtige" Methode, ein Objekt in Scala umzubenennen?Scala-Paketobjekte mit Attributen, die Typ-/Wert-Aliase bereitstellen
Zum Beispiel lassen Sie uns sagen, dass ich ein Role in ihrem Umfang in verschiedenen Teilen meiner Anwendung benötigen (die bis in SBT Teilprojekte gebrochen)
trait RoleGroup
object RoleGroup {
case object ADMIN extends RoleGroup
case object MEMBER extends RoleGroup
case object PUBLIC extends RoleGroup
}
Da ich will nicht immer wieder zu Role importieren, I beschlossen, alias Role Merkmal und Objekt in Art und val Pendants wie so:
package com.developer
package controller
trait ControllerBase {
type RoleGroup = controller.RoleGroup
val RoleGroup = controller.RoleGroup
...
}
und dann können Teilprojektpaketobjekte der Helfer Charakterzug erweitern die Importe kostenlos zu bekommen:
package com.client
package object member
extends com.developer.controller.ControllerBase
Ich mache dasselbe für andere Fallobjekte, die im Geltungsbereich sein müssen. Ist das eine vernünftige Lösung? Gibt es irgendwelche Nachteile/Probleme, die ich beachten muss? Alles Kompilieren und Browser-Test-Seiten scheinen zu laufen, genau wie in vor-umgestalteter Anwendung, aber bin nicht sicher, ob dies der beste Ansatz ist.
+1, interessant, das muss dann das Alias-Rezept sein ;-) Typen für Traits/Klassen und Vals für Objekte et al. Definitiv kann eine Menge Import-Boilerplate mit diesem Ansatz reduzieren – virtualeyes