स्कैला में किसी ऑब्जेक्ट को उपनाम करने का "सही" तरीका क्या है?स्काला पैकेज ऑब्जेक्ट्स विशेषता प्रकार/मूल्य उपनाम
उदाहरण के लिए, मान लीजिए कि मैं अपने आवेदन के विभिन्न भागों (जो एसबीटी उप परियोजनाओं में टूट जाती है)
trait RoleGroup
object RoleGroup {
case object ADMIN extends RoleGroup
case object MEMBER extends RoleGroup
case object PUBLIC extends RoleGroup
}
में दायरे में एक RoleGroup जरूरत है जब से मैं बार-बार RoleGroup आयात करने के लिए मना नहीं करते, मैं उर्फ RoleGroup विशेषता करने का फैसला किया और इतने तरह के प्रकार और वैल समकक्षों में वस्तु:
package com.developer
package controller
trait ControllerBase {
type RoleGroup = controller.RoleGroup
val RoleGroup = controller.RoleGroup
...
}
और फिर उप परियोजना पैकेज वस्तुओं सहायक विशेषता का विस्तार मुक्त करने के लिए आयात प्राप्त करने के लिए कर सकते हैं:
package com.client
package object member
extends com.developer.controller.ControllerBase
मैं अन्य मामले वस्तुओं के लिए ऐसा कर रहा हूं जो दायरे में होने की आवश्यकता है। क्या यह एक समझदार समाधान है? यानी क्या कोई कमी/मुद्दे हैं जिनके बारे में मुझे अवगत होना चाहिए? सबकुछ संकलित और ब्राउज़र परीक्षण पृष्ठ पूर्व-रिफैक्चर किए गए एप्लिकेशन के समान ही दिखाई देते हैं, लेकिन मुझे यकीन नहीं है कि यह सबसे अच्छा तरीका है या नहीं।
+1, रोचक, यह उपनाम नुस्खा होना चाहिए ;-) वस्तुओं के लिए लक्षण/कक्षाओं और vals के लिए प्रकार। निश्चित रूप से इस दृष्टिकोण के साथ बहुत सारे आयात बॉयलरप्लेट को कम कर सकते हैं – virtualeyes