beni aşağıda her iki sınıf Buradaki sorun ile hiçbir ad ayrılık olmadığı için bu YÖNETİCİ belirsiz olduğuscala vaka nesne kirliliği
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
paket com.company.foo içindedir ;-)
açıklayalım durum nesneleri. Paket başına yalnızca tek bir isimlendirilmiş vaka nesnesi olabileceği görülüyor.
Sanırım bir mail.ADMIN, roleADMIN vb. Ya da sadece uygun Enumlar yaratmalı ve vaka nesnelerini unutmalı mıyım? Ya da başka bir yaklaşım mı? MailSender
için
object RoleGroup {
sealed trait RoleGroup
case object ADMIN extends RoleGroup
case object MEMBER extends Rolegroup
}
ve benzer:
Bu durumda, ad alanı kirliliği hakkında endişelenmeden 'RoleGroup.Admin' vs. 'MailSender.Admin' öğesini belirleyebileceğiniz için numaralandırmaların kullanılması iyi bir fikir olacaktır. – adelbertc
Evet, bu sadece seçeneklerin ne olduğunu görmeye çalışmak gibi görünüyor. Belki de vaka nesneleri, sadece yerel kapsamda veya isim çarpışması şansının olmadığı yerlerde kullanılmak üzere tasarlanmıştır. – virtualeyes